Commit af1e6379 authored by Claes Sjofors's avatar Claes Sjofors

Merge branch 'master' of pwrcvs:/data1/git/pwr

parents 4e0c38b9 fb9829ef
...@@ -61,4 +61,5 @@ ...@@ -61,4 +61,5 @@
130415 rk profibus Removed re-request for diagnostics 130415 rk profibus Removed re-request for diagnostics
131107 rk profibus Fixed problem with profibus diagnostic messages handling 131107 rk profibus Fixed problem with profibus diagnostic messages handling
131113 cs profibus Profibus gsd file for ABB ACS880 added 131113 cs profibus Profibus gsd file for ABB ACS880 added
140825 rk profibus Added support for Profibus FDL.
...@@ -45,8 +45,6 @@ ...@@ -45,8 +45,6 @@
#include <sys/file.h> #include <sys/file.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "rt_io_pb_locals.h"
#include "pwr.h" #include "pwr.h"
#include "pwr_baseclasses.h" #include "pwr_baseclasses.h"
#include "pwr_profibusclasses.h" #include "pwr_profibusclasses.h"
...@@ -54,6 +52,7 @@ ...@@ -54,6 +52,7 @@
#include "rt_io_bus.h" #include "rt_io_bus.h"
#include "rt_io_msg.h" #include "rt_io_msg.h"
#include "rt_errh.h" #include "rt_errh.h"
#include "rt_io_pb_locals.h"
/*----------------------------------------------------------------------------*\ /*----------------------------------------------------------------------------*\
Convert ai from rawvalue to actualvalue. Convert ai from rawvalue to actualvalue.
......
...@@ -43,8 +43,6 @@ ...@@ -43,8 +43,6 @@
#include <sys/file.h> #include <sys/file.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "rt_io_pb_locals.h"
#include "pwr.h" #include "pwr.h"
#include "pwr_baseclasses.h" #include "pwr_baseclasses.h"
#include "pwr_profibusclasses.h" #include "pwr_profibusclasses.h"
...@@ -53,6 +51,8 @@ ...@@ -53,6 +51,8 @@
#include "rt_io_msg.h" #include "rt_io_msg.h"
#include "rt_errh.h" #include "rt_errh.h"
#include "rt_io_pb_locals.h"
/*----------------------------------------------------------------------------*\ /*----------------------------------------------------------------------------*\
Init method for the Pb module Ao Init method for the Pb module Ao
......
...@@ -43,8 +43,6 @@ ...@@ -43,8 +43,6 @@
#include <sys/file.h> #include <sys/file.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "rt_io_pb_locals.h"
#include "pwr.h" #include "pwr.h"
#include "pwr_baseclasses.h" #include "pwr_baseclasses.h"
#include "pwr_profibusclasses.h" #include "pwr_profibusclasses.h"
...@@ -53,6 +51,8 @@ ...@@ -53,6 +51,8 @@
#include "rt_io_msg.h" #include "rt_io_msg.h"
#include "rt_errh.h" #include "rt_errh.h"
#include "rt_io_pb_locals.h"
#define IO_CONVMASK_ALL 0xFFFF #define IO_CONVMASK_ALL 0xFFFF
/*----------------------------------------------------------------------------*\ /*----------------------------------------------------------------------------*\
......
...@@ -43,8 +43,6 @@ ...@@ -43,8 +43,6 @@
#include <sys/file.h> #include <sys/file.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "rt_io_pb_locals.h"
#include "pwr.h" #include "pwr.h"
#include "pwr_baseclasses.h" #include "pwr_baseclasses.h"
#include "pwr_profibusclasses.h" #include "pwr_profibusclasses.h"
...@@ -53,6 +51,8 @@ ...@@ -53,6 +51,8 @@
#include "rt_io_msg.h" #include "rt_io_msg.h"
#include "rt_errh.h" #include "rt_errh.h"
#include "rt_io_pb_locals.h"
/*----------------------------------------------------------------------------*\ /*----------------------------------------------------------------------------*\
Init method for the Pb module Do Init method for the Pb module Do
......
...@@ -42,8 +42,6 @@ ...@@ -42,8 +42,6 @@
#include <sys/file.h> #include <sys/file.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "rt_io_pb_locals.h"
#include "pwr.h" #include "pwr.h"
#include "co_cdh.h" #include "co_cdh.h"
#include "pwr_baseclasses.h" #include "pwr_baseclasses.h"
...@@ -57,6 +55,8 @@ ...@@ -57,6 +55,8 @@
#include "rt_io_profiboard.h" #include "rt_io_profiboard.h"
#include "rt_pb_msg.h" #include "rt_pb_msg.h"
#include "rt_io_pb_locals.h"
/* Check if channel should be fetched from diagnostic area, /* Check if channel should be fetched from diagnostic area,
i.e. channel name starts with "Diag_" */ i.e. channel name starts with "Diag_" */
...@@ -98,6 +98,13 @@ static pwr_tStatus IoRackInit ( ...@@ -98,6 +98,13 @@ static pwr_tStatus IoRackInit (
pwr_sClass_ChanAo *chan_ao; pwr_sClass_ChanAo *chan_ao;
pwr_sClass_ChanIo *chan_io; pwr_sClass_ChanIo *chan_io;
io_sRackLocal *local;
local= calloc(1, sizeof(*local));
rp->Local = local;
local->dp = 1;
sts = gdh_ObjidToName(rp->Objid, (char *) &name, sizeof(name), cdh_mNName); sts = gdh_ObjidToName(rp->Objid, (char *) &name, sizeof(name), cdh_mNName);
errh_Info( "Init of Profibus DP Slave and Modules %s", name); errh_Info( "Init of Profibus DP Slave and Modules %s", name);
......
/*
* Proview Open Source Process Control.
* Copyright (C) 2005-2014 SSAB EMEA AB.
*
* This file is part of Proview.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Proview. If not, see <http://www.gnu.org/licenses/>
*
* Linking Proview statically or dynamically with other modules is
* making a combined work based on Proview. Thus, the terms and
* conditions of the GNU General Public License cover the whole
* combination.
*
* In addition, as a special exception, the copyright holders of
* Proview give you permission to, from the build function in the
* Proview Configurator, combine Proview with modules generated by the
* Proview PLC Editor to a PLC program, regardless of the license
* terms of these modules. You may copy and distribute the resulting
* combined work under the terms of your choice, provided that every
* copy of the combined work is accompanied by a complete copy of
* the source code of Proview (the version used to produce the
* combined work), being distributed under the terms of the GNU
* General Public License plus this exception.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <math.h>
#include <sys/file.h>
#include <sys/ioctl.h>
#include "pwr.h"
#include "pwr_baseclasses.h"
#include "pwr_profibusclasses.h"
#include "rt_io_base.h"
#include "rt_io_bus.h"
#include "rt_io_msg.h"
#include "rt_errh.h"
#include "rt_pb_msg.h"
#include "rt_io_pb_locals.h"
#include "keywords.h"
#pragma pack(1)
#include "pb_type.h"
#include "pb_conf.h"
#include "pb_if.h"
#include "pb_err.h"
#include "pb_fmb.h"
#include "pb_dp.h"
#include "pb_fdl.h"
#pragma pack(0)
static unsigned char req_res_buffer[512];
static short fdlif_sda_sdn_sdr_req(io_sAgentLocal *local_agent,
pwr_sClass_Pb_FDL_SAP *sap,
pwr_sClass_Pb_FDL_DataTransfer *op,
io_sFDLCardLocal *local)
/*-----------------------------------------------------------------------------
FUNCTIONAL_DESCRIPTION
this function is used to activate a SAP
possible return values:
- == E_OK -> no error
- != E_OK -> error
-----------------------------------------------------------------------------*/
{
// LOCAL_VARIABLES
short result; /* !!! local result variable !!! */
// FUNCTION_BODY
T_FDLIF_SDN_SDA_SRD_REQ *req = (T_FDLIF_SDN_SDA_SRD_REQ*) req_res_buffer;
unsigned char *data_ptr;
T_PROFI_SERVICE_DESCR sdb;
/* --- set data block parameters ------------------------------------------- */
data_ptr = (USIGN8*) (req+1);
req->ssap = sap->SAP_Nr;
req->dsap = op->DestSAP;
req->rem_add = sap->SlaveAddress;
req->priority = HIGH;
memcpy(data_ptr, local->output_area, local->output_area_size);
req->length = local->output_area_size;
/* --- set parameter block parameters -------------------------------------- */
sdb.comm_ref = 0;
sdb.layer = FDLIF;
switch (op->Type) {
case pwr_ePbFDLDataTransferTypeEnum_FDLIF_SDA: {
sdb.service = FDLIF_SDA;
break;
}
case pwr_ePbFDLDataTransferTypeEnum_FDLIF_SDN: {
sdb.service = FDLIF_SDN;
break;
}
case pwr_ePbFDLDataTransferTypeEnum_FDLIF_SRD: {
sdb.service = FDLIF_SRD;
break;
}
default:
sdb.service = FDLIF_SDN;
break;
}
sdb.primitive = REQ;
sdb.invoke_id = local->invoke_id = local_agent->invoke_id;
local_agent->invoke_id = (local_agent->invoke_id + 1) % 128;
result = profi_snd_req_res((T_PROFI_DEVICE_HANDLE *) local_agent, &sdb, (void *) req, PB_FALSE);
return ((pwr_tBoolean) (result == E_OK));
}
static short fdlif_reply_update_mult_req(io_sAgentLocal *local_agent,
pwr_sClass_Pb_FDL_SAP *sap,
pwr_sClass_Pb_FDL_DataTransfer *op,
io_sFDLCardLocal *local)
/*-----------------------------------------------------------------------------
FUNCTIONAL_DESCRIPTION
this function is used to activate a SAP
possible return values:
- == E_OK -> no error
- != E_OK -> error
-----------------------------------------------------------------------------*/
{
// LOCAL_VARIABLES
INT16 result; /* !!! local result variable !!! */
// FUNCTION_BODY
T_FDLIF_RUP_REQ *req = (T_FDLIF_RUP_REQ*) req_res_buffer;
USIGN8 *data_ptr;
T_PROFI_SERVICE_DESCR sdb;
/* --- set data block parameters ------------------------------------------- */
data_ptr = (USIGN8*) (req+1);
req->sap_nr = sap->SAP_Nr;
req->priority = HIGH;
memcpy(data_ptr, local->output_area, local->output_area_size);
req->length = local->output_area_size;
/* --- set parameter block parameters -------------------------------------- */
sdb.comm_ref = 0;
sdb.layer = FDLIF;
sdb.service = FDLIF_REPLY_UPDATE_MULTIPLE;
sdb.primitive = REQ;
sdb.invoke_id = local->invoke_id = local_agent->invoke_id;
local_agent->invoke_id = (local_agent->invoke_id + 1) % 128;
result = profi_snd_req_res((T_PROFI_DEVICE_HANDLE *) local_agent, &sdb, (void *) req, PB_FALSE);
return ((pwr_tBoolean) (result == E_OK));
}
/*----------------------------------------------------------------------------*\
Init method for the Pb module
\*----------------------------------------------------------------------------*/
static pwr_tStatus IoCardInit (
io_tCtx ctx,
io_sAgent *ap,
io_sRack *rp,
io_sCard *cp
)
{
io_sFDLCardLocal *local;
pwr_sClass_Pb_FDL_DataTransfer *op = (pwr_sClass_Pb_FDL_DataTransfer *)cp->op;
unsigned int input_area_offset = 0;
unsigned int input_area_chansize = 0;
unsigned int output_area_offset = 0;
unsigned int output_area_chansize = 0;
local = (io_sFDLCardLocal *) calloc( 1, sizeof(io_sFDLCardLocal));
cp->Local = local;
/* Initialize remote address structure */
local->byte_ordering = ((pwr_sClass_Pb_FDL_SAP *) rp->op)->ByteOrdering;
io_bus_card_init( ctx, cp, &input_area_offset, &input_area_chansize,
&output_area_offset, &output_area_chansize, local->byte_ordering,
io_eAlignment_Packed);
local->input_area_size = input_area_offset + input_area_chansize;
local->output_area_size = output_area_offset + output_area_chansize;
if ( local->input_area_size > 0)
local->input_area = calloc( 1, local->input_area_size);
if ( local->output_area_size > 0)
local->output_area = calloc( 1, local->output_area_size);
errh_Info( "Init of Profibus FDL Data transfer '%s'", cp->Name);
op->Status = PB__NORMAL;
return IO__SUCCESS;
}
/*----------------------------------------------------------------------------*\
Read method for the Pb FDL Data transfer module
\*----------------------------------------------------------------------------*/
static pwr_tStatus IoCardRead (
io_tCtx ctx,
io_sAgent *ap,
io_sRack *rp,
io_sCard *cp
)
{
io_sFDLCardLocal *local = (io_sFDLCardLocal *) cp->Local;
io_bus_card_read(ctx, rp, cp, local->input_area, 0, local->byte_ordering,
local->float_representation);
return IO__SUCCESS;
}
/*----------------------------------------------------------------------------*\
Write method for the Pb FDL Data transfer module
\*----------------------------------------------------------------------------*/
static pwr_tStatus IoCardWrite (
io_tCtx ctx,
io_sAgent *ap,
io_sRack *rp,
io_sCard *cp
)
{
io_sAgentLocal *local_agent = (io_sAgentLocal *)ap->Local;
pwr_sClass_Pb_FDL_DataTransfer *op = (pwr_sClass_Pb_FDL_DataTransfer *) cp->op;
pwr_sClass_Pb_FDL_SAP *sap = (pwr_sClass_Pb_FDL_SAP * ) rp->op;
io_sFDLCardLocal *local = (io_sFDLCardLocal *) cp->Local;
op->Status = sap->Status;
if (op->Status == PB__NORMAL) {
io_bus_card_write(ctx, cp, local->output_area, local->byte_ordering,
local->float_representation);
if (op->SendReq) {
pthread_mutex_lock(&local_agent->mutex);
if (sap->Responder) {
fdlif_reply_update_mult_req(local_agent, sap, op, local);
}
else {
fdlif_sda_sdn_sdr_req(local_agent, sap, op, local);
}
op->SendReq = 0;
pthread_mutex_unlock(&local_agent->mutex);
}
}
return IO__SUCCESS;
}
/*----------------------------------------------------------------------------*\
Close method for the Pb module
\*----------------------------------------------------------------------------*/
static pwr_tStatus IoCardClose (
io_tCtx ctx,
io_sAgent *ap,
io_sRack *rp,
io_sCard *cp
)
{
io_sCardLocal *local;
local = cp->Local;
free ((char *) local);
printf("Method Pb_Module-IoCardClose\n");
return IO__SUCCESS;
}
/*----------------------------------------------------------------------------*\
Every method to be exported to the workbench should be registred here.
\*----------------------------------------------------------------------------*/
pwr_dExport pwr_BindIoMethods(Pb_FDL_DataTransfer) = {
pwr_BindIoMethod(IoCardInit),
pwr_BindIoMethod(IoCardRead),
pwr_BindIoMethod(IoCardWrite),
pwr_BindIoMethod(IoCardClose),
pwr_NullMethod
};
/*
* Proview Open Source Process Control.
* Copyright (C) 2005-2014 SSAB EMEA AB.
*
* This file is part of Proview.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Proview. If not, see <http://www.gnu.org/licenses/>
*
* Linking Proview statically or dynamically with other modules is
* making a combined work based on Proview. Thus, the terms and
* conditions of the GNU General Public License cover the whole
* combination.
*
* In addition, as a special exception, the copyright holders of
* Proview give you permission to, from the build function in the
* Proview Configurator, combine Proview with modules generated by the
* Proview PLC Editor to a PLC program, regardless of the license
* terms of these modules. You may copy and distribute the resulting
* combined work under the terms of your choice, provided that every
* copy of the combined work is accompanied by a complete copy of
* the source code of Proview (the version used to produce the
* combined work), being distributed under the terms of the GNU
* General Public License plus this exception.
*/
/* rt_io_m_pb_fdl_sap.c -- io methods for a profibus FDL SAP */
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/file.h>
#include <sys/ioctl.h>
#include "pwr.h"
#include "co_cdh.h"
#include "pwr_baseclasses.h"
#include "pwr_profibusclasses.h"
#include "rt_gdh.h"
#include "rt_io_base.h"
#include "rt_io_bus.h"
#include "rt_io_msg.h"
#include "rt_errh.h"
#include "co_cdh.h"
#include "rt_io_profiboard.h"
#include "rt_pb_msg.h"
#include "rt_io_pb_locals.h"
/*----------------------------------------------------------------------------*\
Init method for the Pb FDL SAP
\*----------------------------------------------------------------------------*/
static pwr_tStatus IoRackInit (
io_tCtx ctx,
io_sAgent *ap,
io_sRack *rp
)
{
io_sRackLocal *local;
char name[196];
pwr_tStatus sts;
sts = gdh_ObjidToName(rp->Objid, (char *) &name, sizeof(name), cdh_mNName);
errh_Info( "Init of Profibus FDL SAP %s", name);
local= calloc(1, sizeof(*local));
rp->Local = local;
local->fdl = 1;
return IO__SUCCESS;
}
/*----------------------------------------------------------------------------*\
\*----------------------------------------------------------------------------*/
static pwr_tStatus IoRackClose (
io_tCtx ctx,
io_sAgent *ap,
io_sRack *rp
)
{
return IO__SUCCESS;
}
/*----------------------------------------------------------------------------*\
Every method to be exported to the workbench should be registred here.
\*----------------------------------------------------------------------------*/
pwr_dExport pwr_BindIoMethods(Pb_FDL_SAP) = {
pwr_BindIoMethod(IoRackInit),
pwr_BindIoMethod(IoRackClose),
pwr_NullMethod
};
...@@ -74,8 +74,6 @@ The code refers to some documents provided by Hilscher, the documents are: ...@@ -74,8 +74,6 @@ The code refers to some documents provided by Hilscher, the documents are:
#include "rcs_user.h" #include "rcs_user.h"
#include "dpm_user.h" #include "dpm_user.h"
#include "rt_io_pb_locals.h"
#include "pwr.h" #include "pwr.h"
#include "co_cdh.h" #include "co_cdh.h"
#include "pwr_baseclasses.h" #include "pwr_baseclasses.h"
...@@ -87,6 +85,8 @@ The code refers to some documents provided by Hilscher, the documents are: ...@@ -87,6 +85,8 @@ The code refers to some documents provided by Hilscher, the documents are:
#include "rt_io_agent_init.h" #include "rt_io_agent_init.h"
#include "rt_pb_msg.h" #include "rt_pb_msg.h"
#include "rt_io_pb_locals.h"
typedef struct { typedef struct {
/* Board number. */ /* Board number. */
unsigned short dev_number; unsigned short dev_number;
...@@ -101,7 +101,7 @@ typedef struct { ...@@ -101,7 +101,7 @@ typedef struct {
/* Watchdog counter, used by DevTriggerWatchDog() as explained on page /* Watchdog counter, used by DevTriggerWatchDog() as explained on page
58 of CIFLinux_en.pdf. */ 58 of CIFLinux_en.pdf. */
unsigned short watchdog; unsigned short watchdog;
} io_sAgentLocal; } io_sAgentLocalHilscher;
/* Prototypes for functions exported to Proview. */ /* Prototypes for functions exported to Proview. */
static pwr_tStatus IoAgentInit(io_tCtx ctx, io_sAgent *ap); static pwr_tStatus IoAgentInit(io_tCtx ctx, io_sAgent *ap);
...@@ -141,7 +141,7 @@ boards known_boards[] = { ...@@ -141,7 +141,7 @@ boards known_boards[] = {
/* Initializes Profibus DP interface on the CIF board referred to by local. /* Initializes Profibus DP interface on the CIF board referred to by local.
DRV_NO_ERROR is returned upon success. */ DRV_NO_ERROR is returned upon success. */
static short static short
dpm_init_master(io_sAgentLocal *local, pwr_sClass_Pb_Hilscher *op, dpm_init_master(io_sAgentLocalHilscher *local, pwr_sClass_Pb_Hilscher *op,
io_sAgent *ap) io_sAgent *ap)
{ {
short rv; short rv;
...@@ -193,7 +193,7 @@ dpm_init_master(io_sAgentLocal *local, pwr_sClass_Pb_Hilscher *op, ...@@ -193,7 +193,7 @@ dpm_init_master(io_sAgentLocal *local, pwr_sClass_Pb_Hilscher *op,
/* Opens and initializes the board referred to by local. Upon success /* Opens and initializes the board referred to by local. Upon success
* DRV_NO_ERROR will be returned. */ * DRV_NO_ERROR will be returned. */
static short static short
dpm_init(io_sAgentLocal *local, io_sAgent *ap) dpm_init(io_sAgentLocalHilscher *local, io_sAgent *ap)
{ {
short rv; short rv;
...@@ -215,7 +215,7 @@ dpm_init(io_sAgentLocal *local, io_sAgent *ap) ...@@ -215,7 +215,7 @@ dpm_init(io_sAgentLocal *local, io_sAgent *ap)
/* Closes the board referred to by local. Upon success DRV_NO_ERROR will /* Closes the board referred to by local. Upon success DRV_NO_ERROR will
be returned. */ be returned. */
static short static short
dpm_exit(io_sAgentLocal *local, io_sAgent *ap) dpm_exit(io_sAgentLocalHilscher *local, io_sAgent *ap)
{ {
short rv; short rv;
short rv_ret = DRV_NO_ERROR; short rv_ret = DRV_NO_ERROR;
...@@ -414,9 +414,9 @@ dpm_set_add_tab(pwr_sClass_Pb_DP_Slave *op, io_sAgent *ap, io_sRack *rp, ...@@ -414,9 +414,9 @@ dpm_set_add_tab(pwr_sClass_Pb_DP_Slave *op, io_sAgent *ap, io_sRack *rp,
slaves/modules have occupied so far. */ slaves/modules have occupied so far. */
unsigned short *input_size; unsigned short *input_size;
unsigned short *output_size; unsigned short *output_size;
input_size = (unsigned short *) &((io_sAgentLocal *) ap->Local)->input_size; input_size = (unsigned short *) &((io_sAgentLocalHilscher *) ap->Local)->input_size;
output_size = output_size =
(unsigned short *) &((io_sAgentLocal *) ap->Local)->output_size; (unsigned short *) &((io_sAgentLocalHilscher *) ap->Local)->output_size;
/* This lets Proview find the IO-area for this module (in this case it is /* This lets Proview find the IO-area for this module (in this case it is
actually handled at the agent level, thus in this file). The offsets actually handled at the agent level, thus in this file). The offsets
...@@ -606,7 +606,7 @@ or 127 to set master bus parameters. The bus parameters are read from ...@@ -606,7 +606,7 @@ or 127 to set master bus parameters. The bus parameters are read from
the buffer prmdata and shall be of length prmlen. DRV_NO_ERROR is returned the buffer prmdata and shall be of length prmlen. DRV_NO_ERROR is returned
if successful. */ if successful. */
static short static short
dpm_ddlm_download(io_sAgentLocal *local, unsigned char address, dpm_ddlm_download(io_sAgentLocalHilscher *local, unsigned char address,
unsigned int prmlen, void *prmdata, io_sAgent *ap) unsigned int prmlen, void *prmdata, io_sAgent *ap)
{ {
short rv; short rv;
...@@ -673,7 +673,7 @@ dpm_ddlm_download(io_sAgentLocal *local, unsigned char address, ...@@ -673,7 +673,7 @@ dpm_ddlm_download(io_sAgentLocal *local, unsigned char address,
/* Configures the master bus parameters of the board referred to by /* Configures the master bus parameters of the board referred to by
local, the struct containing the parameters should be passed in op. */ local, the struct containing the parameters should be passed in op. */
static short static short
dpm_download_master_prm(io_sAgentLocal *local, pwr_sClass_Pb_Hilscher *op, dpm_download_master_prm(io_sAgentLocalHilscher *local, pwr_sClass_Pb_Hilscher *op,
io_sAgent *ap) io_sAgent *ap)
{ {
DPM_BUS_DP prm; DPM_BUS_DP prm;
...@@ -719,7 +719,7 @@ is passed in local. op holds the slave to configure, the corresponding ...@@ -719,7 +719,7 @@ is passed in local. op holds the slave to configure, the corresponding
agent pointer and rack pointer must be passed in ap and rp respectively. agent pointer and rack pointer must be passed in ap and rp respectively.
DRV_NO_ERROR will be returned upon success. */ DRV_NO_ERROR will be returned upon success. */
static short static short
dpm_download_slave_prm(io_sAgentLocal *local, pwr_sClass_Pb_DP_Slave *op, dpm_download_slave_prm(io_sAgentLocalHilscher *local, pwr_sClass_Pb_DP_Slave *op,
io_sAgent *ap, io_sRack *rp) io_sAgent *ap, io_sRack *rp)
{ {
unsigned char buf[DPM_MAX_LEN_DATA_UNIT]; unsigned char buf[DPM_MAX_LEN_DATA_UNIT];
...@@ -815,7 +815,7 @@ board referred to by local. The function will return DRV_NO_ERROR if ...@@ -815,7 +815,7 @@ board referred to by local. The function will return DRV_NO_ERROR if
the request was sent without error, however, it tells us nothing the request was sent without error, however, it tells us nothing
about whether any diagnostics data was sent back. */ about whether any diagnostics data was sent back. */
static short static short
dpm_req_slave_diag(io_sAgentLocal *local, unsigned char address, io_sAgent *ap) dpm_req_slave_diag(io_sAgentLocalHilscher *local, unsigned char address, io_sAgent *ap)
{ {
short rv; short rv;
RCS_MESSAGETELEGRAM_10 msg; RCS_MESSAGETELEGRAM_10 msg;
...@@ -858,7 +858,7 @@ to gather diagnostics data asynchronously. The desired agent's local ...@@ -858,7 +858,7 @@ to gather diagnostics data asynchronously. The desired agent's local
struct is passed via local and the associated rack list (Profibus slaves) is struct is passed via local and the associated rack list (Profibus slaves) is
passed in slave_list. */ passed in slave_list. */
static void static void
dpm_update_slave_diag(io_sAgentLocal *local, io_sRack *slave_list, dpm_update_slave_diag(io_sAgentLocalHilscher *local, io_sRack *slave_list,
io_sAgent *ap) io_sAgent *ap)
{ {
short rv; short rv;
...@@ -1000,7 +1000,7 @@ dpm_print_diag(io_sAgent *ap, DPM_DIAGNOSTICS *diag) ...@@ -1000,7 +1000,7 @@ dpm_print_diag(io_sAgent *ap, DPM_DIAGNOSTICS *diag)
If the board was found in the database, the function returns DRV_NO_ERROR If the board was found in the database, the function returns DRV_NO_ERROR
and the startsegment will be written to what db_startsegment points to. */ and the startsegment will be written to what db_startsegment points to. */
static short static short
dpm_check_board_type(io_sAgentLocal *local, io_sAgent *ap, dpm_check_board_type(io_sAgentLocalHilscher *local, io_sAgent *ap,
unsigned char *db_startsegment) unsigned char *db_startsegment)
{ {
short rv; short rv;
...@@ -1064,7 +1064,7 @@ dpm_check_board_type(io_sAgentLocal *local, io_sAgent *ap, ...@@ -1064,7 +1064,7 @@ dpm_check_board_type(io_sAgentLocal *local, io_sAgent *ap,
/* Deletes the "PROFIBUS" protocol settings database from the card referred /* Deletes the "PROFIBUS" protocol settings database from the card referred
to by local, this procedure is described on page 32 -- 33 in dpm_pie.pdf. */ to by local, this procedure is described on page 32 -- 33 in dpm_pie.pdf. */
static short static short
dpm_delete_flash_prmdb(io_sAgentLocal *local, io_sAgent *ap) dpm_delete_flash_prmdb(io_sAgentLocalHilscher *local, io_sAgent *ap)
{ {
unsigned char db_startsegment; unsigned char db_startsegment;
int s = 3; int s = 3;
...@@ -1151,7 +1151,7 @@ dpm_delete_flash_prmdb(io_sAgentLocal *local, io_sAgent *ap) ...@@ -1151,7 +1151,7 @@ dpm_delete_flash_prmdb(io_sAgentLocal *local, io_sAgent *ap)
/* Wrapper for dpm_init_master(), takes care of checking for (and optionally /* Wrapper for dpm_init_master(), takes care of checking for (and optionally
removing) the sycon database if present. */ removing) the sycon database if present. */
static short static short
dpm_init_master_check_sycon_db(io_sAgentLocal *local, dpm_init_master_check_sycon_db(io_sAgentLocalHilscher *local,
pwr_sClass_Pb_Hilscher *op, io_sAgent *ap) pwr_sClass_Pb_Hilscher *op, io_sAgent *ap)
{ {
short rv; short rv;
...@@ -1201,7 +1201,7 @@ IoAgentInit(io_tCtx ctx, io_sAgent *ap) ...@@ -1201,7 +1201,7 @@ IoAgentInit(io_tCtx ctx, io_sAgent *ap)
{ {
pwr_sClass_Pb_Hilscher *op; pwr_sClass_Pb_Hilscher *op;
pwr_tStatus status; pwr_tStatus status;
io_sAgentLocal *local; io_sAgentLocalHilscher *local;
char ok; char ok;
pwr_tObjid slave_objid; pwr_tObjid slave_objid;
...@@ -1215,7 +1215,7 @@ IoAgentInit(io_tCtx ctx, io_sAgent *ap) ...@@ -1215,7 +1215,7 @@ IoAgentInit(io_tCtx ctx, io_sAgent *ap)
int retry; int retry;
/* Allocates area for local data structure */ /* Allocates area for local data structure */
ap->Local = calloc(1, sizeof(io_sAgentLocal)); ap->Local = calloc(1, sizeof(io_sAgentLocalHilscher));
if (!ap->Local) { if (!ap->Local) {
errh_Error("ERROR config Profibus DP Master %s - %s", errh_Error("ERROR config Profibus DP Master %s - %s",
ap->Name, "calloc"); ap->Name, "calloc");
...@@ -1223,7 +1223,7 @@ IoAgentInit(io_tCtx ctx, io_sAgent *ap) ...@@ -1223,7 +1223,7 @@ IoAgentInit(io_tCtx ctx, io_sAgent *ap)
} }
/* Handles for easy access to local variables. */ /* Handles for easy access to local variables. */
local = (io_sAgentLocal *) ap->Local; local = (io_sAgentLocalHilscher *) ap->Local;
op = (pwr_sClass_Pb_Hilscher *) ap->op; op = (pwr_sClass_Pb_Hilscher *) ap->op;
op->Status = PB__NOTINIT; op->Status = PB__NOTINIT;
...@@ -1342,7 +1342,7 @@ IoAgentRead(io_tCtx ctx, io_sAgent *ap) ...@@ -1342,7 +1342,7 @@ IoAgentRead(io_tCtx ctx, io_sAgent *ap)
{ {
pwr_sClass_Pb_Hilscher *mp; pwr_sClass_Pb_Hilscher *mp;
pwr_sClass_Pb_DP_Slave *sp; pwr_sClass_Pb_DP_Slave *sp;
io_sAgentLocal *local; io_sAgentLocalHilscher *local;
io_sRack *slave_list; io_sRack *slave_list;
pwr_sClass_Pb_Hilscher *op; pwr_sClass_Pb_Hilscher *op;
...@@ -1352,7 +1352,7 @@ IoAgentRead(io_tCtx ctx, io_sAgent *ap) ...@@ -1352,7 +1352,7 @@ IoAgentRead(io_tCtx ctx, io_sAgent *ap)
DPM_DIAGNOSTICS diag; DPM_DIAGNOSTICS diag;
/* Handle for local data structure. */ /* Handle for local data structure. */
local = (io_sAgentLocal *) ap->Local; local = (io_sAgentLocalHilscher *) ap->Local;
/*** Data exchange code goes here: ***/ /*** Data exchange code goes here: ***/
...@@ -1382,7 +1382,7 @@ IoAgentRead(io_tCtx ctx, io_sAgent *ap) ...@@ -1382,7 +1382,7 @@ IoAgentRead(io_tCtx ctx, io_sAgent *ap)
/*** Diagnostics collecting code goes here: ***/ /*** Diagnostics collecting code goes here: ***/
local = (io_sAgentLocal *) ap->Local; local = (io_sAgentLocalHilscher *) ap->Local;
op = (pwr_sClass_Pb_Hilscher *) ap->op; op = (pwr_sClass_Pb_Hilscher *) ap->op;
/* If everything is fine we should be in state OPERATE. /* If everything is fine we should be in state OPERATE.
...@@ -1474,11 +1474,11 @@ IoAgentWrite(io_tCtx ctx, io_sAgent *ap) ...@@ -1474,11 +1474,11 @@ IoAgentWrite(io_tCtx ctx, io_sAgent *ap)
{ {
pwr_sClass_Pb_Hilscher *mp; pwr_sClass_Pb_Hilscher *mp;
pwr_sClass_Pb_DP_Slave *sp; pwr_sClass_Pb_DP_Slave *sp;
io_sAgentLocal *local; io_sAgentLocalHilscher *local;
io_sRack *slave_list; io_sRack *slave_list;
/* Handle for local data structure. */ /* Handle for local data structure. */
local = (io_sAgentLocal *) ap->Local; local = (io_sAgentLocalHilscher *) ap->Local;
/* Iterates over the slaves on the bus and writes process data to their /* Iterates over the slaves on the bus and writes process data to their
respective addresses. This is really the rack level's responsibility, respective addresses. This is really the rack level's responsibility,
...@@ -1519,9 +1519,9 @@ IoAgentWrite(io_tCtx ctx, io_sAgent *ap) ...@@ -1519,9 +1519,9 @@ IoAgentWrite(io_tCtx ctx, io_sAgent *ap)
static pwr_tStatus static pwr_tStatus
IoAgentClose(io_tCtx ctx, io_sAgent *ap) IoAgentClose(io_tCtx ctx, io_sAgent *ap)
{ {
io_sAgentLocal *local; io_sAgentLocalHilscher *local;
local = (io_sAgentLocal *) ap->Local; local = (io_sAgentLocalHilscher *) ap->Local;
dpm_exit(local, ap); dpm_exit(local, ap);
free(local); free(local);
......
...@@ -42,8 +42,6 @@ ...@@ -42,8 +42,6 @@
#include <sys/file.h> #include <sys/file.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "rt_io_pb_locals.h"
#include "pwr.h" #include "pwr.h"
#include "pwr_baseclasses.h" #include "pwr_baseclasses.h"
#include "pwr_profibusclasses.h" #include "pwr_profibusclasses.h"
...@@ -52,6 +50,8 @@ ...@@ -52,6 +50,8 @@
#include "rt_io_msg.h" #include "rt_io_msg.h"
#include "rt_errh.h" #include "rt_errh.h"
#include "rt_io_pb_locals.h"
/*----------------------------------------------------------------------------*\ /*----------------------------------------------------------------------------*\
Init method for the Pb module Ii Init method for the Pb module Ii
......
...@@ -40,8 +40,6 @@ ...@@ -40,8 +40,6 @@
#include <sys/file.h> #include <sys/file.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "rt_io_pb_locals.h"
#include "pwr.h" #include "pwr.h"
#include "pwr_baseclasses.h" #include "pwr_baseclasses.h"
#include "pwr_profibusclasses.h" #include "pwr_profibusclasses.h"
...@@ -50,6 +48,8 @@ ...@@ -50,6 +48,8 @@
#include "rt_io_msg.h" #include "rt_io_msg.h"
#include "rt_errh.h" #include "rt_errh.h"
#include "rt_io_pb_locals.h"
/*----------------------------------------------------------------------------*\ /*----------------------------------------------------------------------------*\
Init method for the Pb module Io Init method for the Pb module Io
......
...@@ -42,8 +42,6 @@ ...@@ -42,8 +42,6 @@
#include <sys/file.h> #include <sys/file.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include "rt_io_pb_locals.h"
#include "pwr.h" #include "pwr.h"
#include "pwr_baseclasses.h" #include "pwr_baseclasses.h"
#include "pwr_profibusclasses.h" #include "pwr_profibusclasses.h"
...@@ -53,6 +51,8 @@ ...@@ -53,6 +51,8 @@
#include "rt_errh.h" #include "rt_errh.h"
#include "rt_pb_msg.h" #include "rt_pb_msg.h"
#include "rt_io_pb_locals.h"
/*----------------------------------------------------------------------------*\ /*----------------------------------------------------------------------------*\
Init method for the Pb module Init method for the Pb module
\*----------------------------------------------------------------------------*/ \*----------------------------------------------------------------------------*/
......
...@@ -55,10 +55,9 @@ ...@@ -55,10 +55,9 @@
#include "pb_err.h" #include "pb_err.h"
#include "pb_fmb.h" #include "pb_fmb.h"
#include "pb_dp.h" #include "pb_dp.h"
#include "pb_fdl.h"
#pragma pack(0) #pragma pack(0)
#include "rt_io_pb_locals.h"
#include "pwr.h" #include "pwr.h"
#include "co_cdh.h" #include "co_cdh.h"
#include "pwr_baseclasses.h" #include "pwr_baseclasses.h"
...@@ -72,25 +71,7 @@ ...@@ -72,25 +71,7 @@
#include "rt_io_profiboard.h" #include "rt_io_profiboard.h"
typedef struct _agent_args { #include "rt_io_pb_locals.h"
void *local;
io_sAgent *ap;
} agent_args;
typedef struct {
int hServiceReadDevice; // Handle for Service device
int hServiceWriteDevice; // Handle for Service device
int hDpDataDevice; // Handle for DP-Data device
int hDpsInputDataDevice; // Handle for DP-Slave Input-Data device
int hDpsOutputDataDevice; // Handle for DP-Slave Output-Data device
unsigned char CurrentBoardNumber;
int slave_diag_requested; // Slave diag requested
int parallel_service; // parallel activity
int hDpsBoardDevice; // Handle for DP-Slave Output-Data device
pthread_t events;
pthread_mutex_t mutex;
agent_args args;
} io_sAgentLocal;
#define DP_MAX_SERVICE_RETRY 10 #define DP_MAX_SERVICE_RETRY 10
...@@ -148,7 +129,7 @@ static short try_profi_rcv_con_ind(T_PROFI_DEVICE_HANDLE *hDevice, ...@@ -148,7 +129,7 @@ static short try_profi_rcv_con_ind(T_PROFI_DEVICE_HANDLE *hDevice,
Sends request to Profiboard for setting FMB parameters Sends request to Profiboard for setting FMB parameters
\*----------------------------------------------------------------------------*/ \*----------------------------------------------------------------------------*/
static short fmb_set_configuration(T_PROFI_DEVICE_HANDLE *hDevice, static short fmb_set_configuration(T_PROFI_DEVICE_HANDLE *hDevice,
pwr_sClass_Pb_Profiboard *op) io_sAgent *ap)
{ {
T_PROFI_SERVICE_DESCR sdb; T_PROFI_SERVICE_DESCR sdb;
T_FMB_SET_CONFIGURATION_REQ data; T_FMB_SET_CONFIGURATION_REQ data;
...@@ -157,6 +138,25 @@ static short fmb_set_configuration(T_PROFI_DEVICE_HANDLE *hDevice, ...@@ -157,6 +138,25 @@ static short fmb_set_configuration(T_PROFI_DEVICE_HANDLE *hDevice,
USIGN16 con_ind_buffer_len = 256; USIGN16 con_ind_buffer_len = 256;
T_PROFI_SERVICE_DESCR con_ind_sdb; T_PROFI_SERVICE_DESCR con_ind_sdb;
INT16 result; /* !!! local result variable !!! */ INT16 result; /* !!! local result variable !!! */
io_sRack *slave_list;
pwr_sClass_Pb_Profiboard *op;
pwr_tCid cid;
slave_list = ap->racklist;
op = ap->op;
memset(&data, 0, sizeof(T_FMB_SET_CONFIGURATION_REQ));
/* Iterate over the slaves. */
for (slave_list = ap->racklist; slave_list != NULL;
slave_list = slave_list->next) {
cid = slave_list->Class;
while ( ODD( gdh_GetSuperClass( cid, &cid, pwr_cNOid))) ;
if (cid == pwr_cClass_Pb_DP_Slave) ((io_sAgentLocal *) ap->Local)->dp = PB_TRUE;
if (cid == pwr_cClass_Pb_FDL_SAP) ((io_sAgentLocal *) ap->Local)->fdl = PB_TRUE;
}
sdb.comm_ref = 0; sdb.comm_ref = 0;
sdb.layer = FMB; sdb.layer = FMB;
...@@ -166,9 +166,9 @@ static short fmb_set_configuration(T_PROFI_DEVICE_HANDLE *hDevice, ...@@ -166,9 +166,9 @@ static short fmb_set_configuration(T_PROFI_DEVICE_HANDLE *hDevice,
sdb.result = 0; sdb.result = 0;
data.fms_active = PB_FALSE; data.fms_active = PB_FALSE;
data.dp_active = PB_TRUE; data.dp_active = ((io_sAgentLocal *) ap->Local)->dp;
data.fdlif_active = PB_FALSE; data.fdlif_active = ((io_sAgentLocal *) ap->Local)->fdl;
data.fdl_evt_receiver = DP_USR; data.fdl_evt_receiver = FMB_USR;
data.sm7_active = PB_FALSE; data.sm7_active = PB_FALSE;
data.data_buffer_length = 256; data.data_buffer_length = 256;
...@@ -182,6 +182,13 @@ static short fmb_set_configuration(T_PROFI_DEVICE_HANDLE *hDevice, ...@@ -182,6 +182,13 @@ static short fmb_set_configuration(T_PROFI_DEVICE_HANDLE *hDevice,
data.dp.max_bus_para_len = 1024; data.dp.max_bus_para_len = 1024;
data.dp.max_slave_para_len = 1024; data.dp.max_slave_para_len = 1024;
data.fdlif.send_req_credits = 20;
data.fdlif.srd_req_credits = 20;
data.fdlif.receive_credits = 20;
data.fdlif.max_no_resp_saps = 20;
profi_snd_req_res(hDevice, &sdb, &data, PB_FALSE); profi_snd_req_res(hDevice, &sdb, &data, PB_FALSE);
try_profi_rcv_con_ind(hDevice, &con_ind_sdb, con_ind_buffer, &con_ind_buffer_len, &result); try_profi_rcv_con_ind(hDevice, &con_ind_sdb, con_ind_buffer, &con_ind_buffer_len, &result);
...@@ -329,6 +336,279 @@ static short dp_download_bus(T_PROFI_DEVICE_HANDLE *hDevice, ...@@ -329,6 +336,279 @@ static short dp_download_bus(T_PROFI_DEVICE_HANDLE *hDevice,
} }
/*********************** FMB_SET_BUSPARAMETER ******************************/
static short fmb_set_busparameter(T_PROFI_DEVICE_HANDLE *hDevice,
pwr_sClass_Pb_Profiboard *op)
/* ------------------------------------------------------------------------ */
/* FUNCTIONAL_DESCRIPTION: */
/* */
/* Set Busparameters for a DP/V1 network */
/* ------------------------------------------------------------------------ */
{
T_FMB_SET_BUSPARAMETER_REQ bus_par_req;
T_PROFI_SERVICE_DESCR sdb;
USIGN8 con_ind_buffer [256];
USIGN16 con_ind_buffer_len = 256;
T_PROFI_SERVICE_DESCR con_ind_sdb;
INT16 result; /* !!! local result variable !!! */
/* set data block parameters */
bus_par_req.loc_add = op->SlaveAddress;
bus_par_req.in_ring_desired = 255;
bus_par_req.loc_segm = 255;
bus_par_req.medium_red = 0;
switch (op->BaudRate) {
case 500:
bus_par_req.baud_rate = DP_KBAUD_500;
break;
case 750:
bus_par_req.baud_rate = DP_KBAUD_750;
break;
case 1500:
bus_par_req.baud_rate = DP_KBAUD_1500;
break;
case 3000:
bus_par_req.baud_rate = DP_KBAUD_3000;
break;
case 6000:
bus_par_req.baud_rate = DP_KBAUD_6000;
break;
case 12000:
bus_par_req.baud_rate = DP_KBAUD_12000;
break;
default:
bus_par_req.baud_rate = DP_KBAUD_1500;
break;
}
bus_par_req.tset = op->Tset;
bus_par_req.tsl = op->Tsl;
bus_par_req.min_tsdr = op->MinTsdr;
bus_par_req.max_tsdr = op->MaxTsdr;
bus_par_req.tqui = op->Tqui;
bus_par_req.max_retry_limit = op->MaxRetryLimit;
bus_par_req.ttr = op->Ttr;
bus_par_req.g = op->G;
bus_par_req.hsa = op->Hsa;
/* Set Description block */
sdb.comm_ref = 0;
sdb.layer = FMB;
sdb.service = FMB_SET_BUSPARAMETER;
sdb.primitive = REQ;
/* Send Request */
profi_snd_req_res(hDevice, &sdb, &bus_par_req, PB_FALSE);
try_profi_rcv_con_ind(hDevice, &con_ind_sdb, con_ind_buffer, &con_ind_buffer_len, &result);
if ((con_ind_sdb.service == FMB_SET_BUSPARAMETER) &&
(con_ind_sdb.primitive == CON ) &&
(con_ind_sdb.result == POS )) {
return (PB_TRUE);
}
return (PB_FALSE);
} /* fmb_set_busparameter */
/*********************** DP_SET_BUSPARAMETER ******************************/
static short dp_set_busparameter(T_PROFI_DEVICE_HANDLE *hDevice,
pwr_sClass_Pb_Profiboard *op)
/* ------------------------------------------------------------------------ */
/* FUNCTIONAL_DESCRIPTION: */
/* */
/* Set Busparameters for a DP/V1 network */
/* ------------------------------------------------------------------------ */
{
T_DP_SET_BUSPARAMETER_REQ bus_par_req;
T_PROFI_SERVICE_DESCR sdb;
USIGN8 con_ind_buffer [256];
USIGN16 con_ind_buffer_len = 256;
T_PROFI_SERVICE_DESCR con_ind_sdb;
INT16 result; /* !!! local result variable !!! */
memset(&bus_par_req, 0, sizeof(T_DP_SET_BUSPARAMETER_REQ));
/* set data block parameters */
bus_par_req.bp_flag = op->BpFlag;
bus_par_req.min_slave_interval = op->MinSlaveInterval;
bus_par_req.poll_timeout = op->PollTimeout;
bus_par_req.data_control_time = op->DataControlTime;
bus_par_req.master_user_data_len = DP_MASTER_USER_DATA_LEN;
/* Set Description block */
sdb.comm_ref = 0;
sdb.layer = DP;
sdb.service = DP_SET_BUSPARAMETER;
sdb.primitive = REQ;
/* Send Request */
profi_snd_req_res(hDevice, &sdb, &bus_par_req, PB_FALSE);
con_ind_sdb.service = 0;
while (con_ind_sdb.service != DP_SET_BUSPARAMETER)
try_profi_rcv_con_ind(hDevice, &con_ind_sdb, con_ind_buffer, &con_ind_buffer_len, &result);
if ((con_ind_sdb.service == DP_SET_BUSPARAMETER) &&
(con_ind_sdb.primitive == CON ) &&
(con_ind_sdb.result == POS )) {
return (PB_TRUE);
}
return (PB_FALSE);
} /* dp_set_busparameter */
static short fdlif_sap_activate_req(T_PROFI_DEVICE_HANDLE *hDevice,
pwr_sClass_Pb_FDL_SAP *op)
/*-----------------------------------------------------------------------------
FUNCTIONAL_DESCRIPTION
this function is used to activate a SAP
possible return values:
- == E_OK -> no error
- != E_OK -> error
-----------------------------------------------------------------------------*/
{
// LOCAL_VARIABLES
T_PROFI_SERVICE_DESCR sdb;
T_FDLIF_SAP_ACTIVATE_REQ sap;
USIGN8 con_ind_buffer [256];
USIGN16 con_ind_buffer_len = 256;
T_PROFI_SERVICE_DESCR con_ind_sdb;
INT16 result; /* !!! local result variable !!! */
// FUNCTION_BODY
sap.sap_nr = op->SAP_Nr;
/* --- set data block parameters ------------------------------------ */
sap.max_l_sdu_length_req = 244;
sap.max_l_sdu_length_con_ind = 244;
sap.access_sap = ALL;
sap.access_station = ALL;
sap.sda = BOTH_ROLES;
sap.sdn = BOTH_ROLES;
sap.srd = BOTH_ROLES;
sap.csrd = SERVICE_NOT_ACTIVATED;
sap.data_mode = NORMAL_MODE;
sap.credits = 2;
/* --- set parameter block parameters -------------------------------------- */
sdb.comm_ref = 0;
sdb.layer = FDLIF;
sdb.service = FDLIF_SAP_ACTIVATE;
sdb.primitive = REQ;
sdb.invoke_id = 0;
/* Send Request */
profi_snd_req_res(hDevice, &sdb, &sap, PB_FALSE);
con_ind_sdb.service = 0;
while (con_ind_sdb.service != FDLIF_SAP_ACTIVATE)
try_profi_rcv_con_ind(hDevice, &con_ind_sdb, con_ind_buffer, &con_ind_buffer_len, &result);
if ((con_ind_sdb.service == FDLIF_SAP_ACTIVATE) &&
(con_ind_sdb.primitive == CON ) &&
(con_ind_sdb.result == POS )) {
return (PB_TRUE);
}
return (PB_FALSE);
}
static short fdlif_rsap_activate_req(T_PROFI_DEVICE_HANDLE *hDevice,
pwr_sClass_Pb_FDL_SAP *op)
/*-----------------------------------------------------------------------------
FUNCTIONAL_DESCRIPTION
this function is used to activate a RSAP
possible return values:
- == E_OK -> no error
- != E_OK -> error
-----------------------------------------------------------------------------*/
{
// LOCAL_VARIABLES
T_PROFI_SERVICE_DESCR sdb;
T_FDLIF_RSAP_ACTIVATE_REQ rsap;
USIGN8 con_ind_buffer [256];
USIGN16 con_ind_buffer_len = 256;
T_PROFI_SERVICE_DESCR con_ind_sdb;
INT16 result; /* !!! local result variable !!! */
// FUNCTION_BODY
rsap.sap_nr = op->SAP_Nr;
/* --- set data block parameters ------------------------------------ */
rsap.max_l_sdu_length_req = 244;
rsap.max_l_sdu_length_ind = 244;
rsap.access_sap = ALL;
rsap.access_station = ALL;
rsap.data_mode = NORMAL_MODE;
rsap.credits = 2;
/* --- set parameter block parameters -------------------------------------- */
sdb.comm_ref = 0;
sdb.layer = FDLIF;
sdb.service = FDLIF_RSAP_ACTIVATE;
sdb.primitive = REQ;
sdb.invoke_id = 0;
/* Send Request */
profi_snd_req_res(hDevice, &sdb, &rsap, PB_FALSE);
con_ind_sdb.service = 0;
while (con_ind_sdb.service != FDLIF_RSAP_ACTIVATE)
try_profi_rcv_con_ind(hDevice, &con_ind_sdb, con_ind_buffer, &con_ind_buffer_len, &result);
if ((con_ind_sdb.service == FDLIF_RSAP_ACTIVATE) &&
(con_ind_sdb.primitive == CON ) &&
(con_ind_sdb.result == POS )) {
return (PB_TRUE);
}
return (PB_FALSE);
}
/*----------------------------------------------------------------------------*\ /*----------------------------------------------------------------------------*\
Sends request for selecting operation mode to the Profiboard Sends request for selecting operation mode to the Profiboard
...@@ -450,6 +730,174 @@ static void dp_get_slave_diag_con(T_DP_GET_SLAVE_DIAG_CON * get_slave_diag_con_p ...@@ -450,6 +730,174 @@ static void dp_get_slave_diag_con(T_DP_GET_SLAVE_DIAG_CON * get_slave_diag_con_p
} /* diag_data_len */ } /* diag_data_len */
} }
static void fdlif_sda_sdn_srd_ind(INT8 invoke_id,
T_FDLIF_SDN_SDA_SRD_REQ *ind_ptr,
io_sRack *slave_list
)
/*-----------------------------------------------------------------------------
FUNCTIONAL_DESCRIPTION
this function is used to receive a SDN, SDA or SRD indication
possible return values:
- NONE
-----------------------------------------------------------------------------*/
{
USIGN8 *data_ptr;
pwr_sClass_Pb_FDL_SAP *sp;
if (ind_ptr->length > 0) {
data_ptr = (USIGN8 *) (ind_ptr + 1);
// print_data (data_ptr, cnf_ptr->length);
while (slave_list != NULL) {
if (((io_sRackLocal *) slave_list->Local)->fdl) {
sp = (pwr_sClass_Pb_FDL_SAP *) slave_list->op;
if (sp->SAP_Nr == ind_ptr->ssap) {
io_sCard *card_list = slave_list->cardlist;
pwr_sClass_Pb_FDL_DataTransfer *cp;
io_sFDLCardLocal *local_card;
if (card_list != NULL) {
cp = (pwr_sClass_Pb_FDL_DataTransfer *) card_list->op;
local_card = (io_sFDLCardLocal *) card_list->Local;
if (local_card->input_area_size > 0)
memcpy(local_card->input_area, data_ptr, MIN(local_card->input_area_size, ind_ptr->length));
}
break;
}
}
slave_list = slave_list->next;
}
}
return;
}
static void fdlif_srd_con(
INT16 result,
INT8 invoke_id,
T_FDLIF_SRD_CNF *cnf_ptr,
io_sRack *slave_list
)
/*-----------------------------------------------------------------------------
FUNCTIONAL_DESCRIPTION
this function is used to receive a SRD confirmation
possible return values:
- NONE
-----------------------------------------------------------------------------*/
{
// LOCAL_VARIABLES
USIGN8 FAR *data_ptr;
pwr_sClass_Pb_FDL_SAP *sp;
USIGN8 res;
if (result == POS) {
res = 0;
} else {
res = cnf_ptr->status;
}
data_ptr = (USIGN8 *) (cnf_ptr + 1);
while (slave_list != NULL) {
if (((io_sRackLocal *) slave_list->Local)->fdl) {
sp = (pwr_sClass_Pb_FDL_SAP *) slave_list->op;
if (!sp->Responder) {
io_sCard *card_list = slave_list->cardlist;
pwr_sClass_Pb_FDL_DataTransfer *cp;
io_sFDLCardLocal *local_card;
while (card_list != NULL) {
cp = (pwr_sClass_Pb_FDL_DataTransfer *) card_list->op;
local_card = (io_sFDLCardLocal *) card_list->Local;
if ((local_card->invoke_id == invoke_id) && (cp->Type == pwr_ePbFDLDataTransferTypeEnum_FDLIF_SRD)) {
cp->Result = res;
if (cnf_ptr->length > 0)
memcpy(local_card->input_area, data_ptr, MIN(local_card->input_area_size, cnf_ptr->length));
break;
}
card_list = card_list->next;
}
if (card_list != NULL) break;
}
}
slave_list = slave_list->next;
}
return;
}
static void fdlif_sda_sdn_con(INT8 invoke_id,
INT16 result,
T_FDLIF_ERROR *err_ptr,
io_sRack *slave_list
)
{
pwr_sClass_Pb_FDL_SAP *sp;
USIGN8 res;
if (result == POS) {
res = 0;
} else {
res = err_ptr->result;
}
// print_data (data_ptr, cnf_ptr->length);
while (slave_list != NULL) {
if (((io_sRackLocal *) slave_list->Local)->fdl) {
sp = (pwr_sClass_Pb_FDL_SAP *) slave_list->op;
if (!sp->Responder) {
io_sCard *card_list = slave_list->cardlist;
pwr_sClass_Pb_FDL_DataTransfer *cp;
io_sFDLCardLocal *local_card;
while (card_list != NULL) {
cp = (pwr_sClass_Pb_FDL_DataTransfer *) card_list->op;
local_card = (io_sFDLCardLocal *) card_list->Local;
if (local_card->invoke_id == invoke_id) {
cp->Result = res;
break;
}
card_list = card_list->next;
}
if (card_list != NULL) break;
}
}
slave_list = slave_list->next;
}
return;
}
/*----------------------------------------------------------------------------*\ /*----------------------------------------------------------------------------*\
Starts download sequence of prm data to one slave Starts download sequence of prm data to one slave
\*----------------------------------------------------------------------------*/ \*----------------------------------------------------------------------------*/
...@@ -772,174 +1220,255 @@ void *handle_events(void *ptr) { ...@@ -772,174 +1220,255 @@ void *handle_events(void *ptr) {
sts = profi_rcv_con_ind ( hDevice, &con_ind_sdb, con_ind_buffer, &con_ind_buffer_len); sts = profi_rcv_con_ind ( hDevice, &con_ind_sdb, con_ind_buffer, &con_ind_buffer_len);
if (sts == CON_IND_RECEIVED) { if (sts == CON_IND_RECEIVED) {
if (con_ind_sdb.primitive == CON) {
if (con_ind_sdb.result == POS) {
switch (con_ind_sdb.service) {
/*--------------------------------------------------------------*/
case DP_ACT_PARAM_LOC: {
if (op->Status == PB__NOTINIT) {
op->Status = PB__STOPPED;
errh_Info( "Profibus DP Master %s to state STOPPED", ap->Name);
dp_act_param_loc(hDevice, DP_OP_MODE_CLEAR);
}
else if (op->Status == PB__STOPPED) {
op->Status = PB__CLEARED;
errh_Info( "Profibus DP Master %s to state CLEARED", ap->Name);
dp_act_param_loc(hDevice, DP_OP_MODE_OPERATE);
}
else if (op->Status == PB__CLEARED) {
errh_Info( "Profibus DP Master %s to state OPERATE", ap->Name);
op->Status = PB__NORMAL;
if (!local->slave_diag_requested && local->parallel_service) {
if (dp_get_slave_diag(hDevice)) {
local->slave_diag_requested = op->Diag[3] = PB_TRUE;
local->parallel_service = PB_FALSE;
}
}
} switch(con_ind_sdb.layer) {
break; case DP_USR: {
} /* case DP_ACT_PARAM_LOC */
/*--------------------------------------------------------------*/ if (con_ind_sdb.primitive == CON) {
if (con_ind_sdb.result == POS) {
case DP_GET_SLAVE_DIAG: { switch (con_ind_sdb.service) {
get_slave_diag_con_ptr = (T_DP_GET_SLAVE_DIAG_CON FAR*) con_ind_buffer;
dp_get_slave_diag_con (get_slave_diag_con_ptr, ap->racklist, op->Diag[1]);
op->Diag[2]++;
local->slave_diag_requested = op->Diag[3] = PB_FALSE;
if (get_slave_diag_con_ptr->diag_entries < 0) {
errh_Warning( "Profibus - diagnostic circular buffer owerflow.");
}
if (get_slave_diag_con_ptr->diag_entries) {
local->slave_diag_requested = op->Diag[3] = PB_TRUE;
dp_get_slave_diag (hDevice);
}
break;
} /* case DP_GET_SLAVE_DIAG */
/*--------------------------------------------------------------*/
default: {
break;
} /* deafult service */
} /* switch */
} /* if POS */
else {
op->Status = PB__NOTINIT;
errh_Error( "Profibus DP Master %s - %x neg con rec", ap->Name, *((unsigned short *) con_ind_buffer) );
} /* else POS */
} /* if CON */
else if (con_ind_sdb.primitive == IND) {
if (con_ind_sdb.result == POS) {
switch (con_ind_sdb.service) {
case FMB_FM2_EVENT: {
switch (((T_FMB_FM2_EVENT_IND FAR*) con_ind_buffer)->reason) {
case FM2_FAULT_ADDRESS : sprintf (s, "Duplicate address recognized"); break;
case FM2_FAULT_PHY : sprintf (s, "Phys.layer is malfunctioning"); break;
case FM2_FAULT_TTO : sprintf (s, "Time out on bus detected "); break;
case FM2_FAULT_SYN : sprintf (s, "No receiver synchronization "); break;
case FM2_FAULT_OUT_OF_RING : sprintf (s, "Station out of ring "); break;
case FM2_GAP_EVENT : sprintf (s, "New station in ring "); break;
default : sprintf (s, "Unknown reason code received");
} /* switch reason */
errh_Info( "Profibus DP Master %s - %s", ap->Name, s );
break;
} /* case FMB_FM2_EVENT */
/*--------------------------------------------------------------*/ /*--------------------------------------------------------------*/
case DP_ACT_PARAM_LOC: { case DP_ACT_PARAM_LOC: {
USIGN8 usif_state;
usif_state = ((T_DP_ACT_PARAM_IND FAR*) con_ind_buffer)->activate;
switch (usif_state) { if (op->Status == PB__NOTINIT) {
case DP_OP_MODE_STOP : { op->Status = PB__STOPPED;
op->Status = PB__STOPPED; errh_Info( "Profibus DP Master %s to state STOPPED", ap->Name);
sprintf (s, "Mode changed to STOP"); dp_act_param_loc(hDevice, DP_OP_MODE_CLEAR);
break; }
} else if (op->Status == PB__STOPPED) {
case DP_OP_MODE_CLEAR : { op->Status = PB__CLEARED;
op->Status = PB__CLEARED; errh_Info( "Profibus DP Master %s to state CLEARED", ap->Name);
sprintf (s, "Mode changed to CLEAR"); dp_act_param_loc(hDevice, DP_OP_MODE_OPERATE);
break; }
} else if (op->Status == PB__CLEARED) {
case DP_OP_MODE_OPERATE: { errh_Info( "Profibus DP Master %s to state OPERATE", ap->Name);
op->Status = PB__NORMAL; op->Status = PB__NORMAL;
sprintf (s, "Mode changed to OPERATE");
break; if (!local->slave_diag_requested && local->parallel_service) {
} if (dp_get_slave_diag(hDevice)) {
} local->slave_diag_requested = op->Diag[3] = PB_TRUE;
local->parallel_service = PB_FALSE;
errh_Info( "Profibus DP Master %s - %s", ap->Name, s ); }
}
}
break;
} /* case DP_ACT_PARAM_LOC */
if (usif_state == DP_OP_MODE_STOP) { /*--------------------------------------------------------------*/
usif_state = DP_OP_MODE_CLEAR;
case DP_GET_SLAVE_DIAG: {
dp_act_param_loc(hDevice, DP_OP_MODE_CLEAR); get_slave_diag_con_ptr = (T_DP_GET_SLAVE_DIAG_CON FAR*) con_ind_buffer;
}
else if (usif_state == DP_OP_MODE_CLEAR) { dp_get_slave_diag_con (get_slave_diag_con_ptr, ap->racklist, op->Diag[1]);
usif_state = DP_OP_MODE_OPERATE; op->Diag[2]++;
dp_act_param_loc (hDevice, DP_OP_MODE_OPERATE); local->slave_diag_requested = op->Diag[3] = PB_FALSE;
}
if (get_slave_diag_con_ptr->diag_entries < 0) {
errh_Warning( "Profibus - diagnostic circular buffer owerflow.");
}
if (get_slave_diag_con_ptr->diag_entries) {
local->slave_diag_requested = op->Diag[3] = PB_TRUE;
dp_get_slave_diag (hDevice);
}
break;
} /* case DP_GET_SLAVE_DIAG */
/*--------------------------------------------------------------*/
default: {
break;
} /* deafult service */
} /* switch */
} /* if POS */
else {
op->Status = PB__NOTINIT;
errh_Error( "Profibus DP Master %s - %x neg con rec", ap->Name, *((unsigned short *) con_ind_buffer) );
} /* else POS */
} /* if CON */
else if (con_ind_sdb.primitive == IND) {
if (con_ind_sdb.result == POS) {
switch (con_ind_sdb.service) {
/*--------------------------------------------------------------*/
case DP_ACT_PARAM_LOC: {
USIGN8 usif_state;
usif_state = ((T_DP_ACT_PARAM_IND FAR*) con_ind_buffer)->activate;
switch (usif_state) {
case DP_OP_MODE_STOP : {
op->Status = PB__STOPPED;
sprintf (s, "Mode changed to STOP");
break;
}
case DP_OP_MODE_CLEAR : {
op->Status = PB__CLEARED;
sprintf (s, "Mode changed to CLEAR");
break;
}
case DP_OP_MODE_OPERATE: {
op->Status = PB__NORMAL;
sprintf (s, "Mode changed to OPERATE");
break;
}
}
break; errh_Info( "Profibus DP Master %s - %s", ap->Name, s );
} /* case DP_ACT_PARAM_LOC */
if (usif_state == DP_OP_MODE_STOP) {
usif_state = DP_OP_MODE_CLEAR;
dp_act_param_loc(hDevice, DP_OP_MODE_CLEAR);
}
else if (usif_state == DP_OP_MODE_CLEAR) {
usif_state = DP_OP_MODE_OPERATE;
dp_act_param_loc (hDevice, DP_OP_MODE_OPERATE);
}
break;
} /* case DP_ACT_PARAM_LOC */
/*--------------------------------------------------------------*/ /*--------------------------------------------------------------*/
case DP_GET_SLAVE_DIAG: { case DP_GET_SLAVE_DIAG: {
get_slave_diag_con_ptr = (T_DP_GET_SLAVE_DIAG_CON FAR*) con_ind_buffer; get_slave_diag_con_ptr = (T_DP_GET_SLAVE_DIAG_CON FAR*) con_ind_buffer;
dp_get_slave_diag_con (get_slave_diag_con_ptr, ap->racklist, op->Diag[1]); dp_get_slave_diag_con (get_slave_diag_con_ptr, ap->racklist, op->Diag[1]);
op->Diag[0]++; op->Diag[0]++;
if (get_slave_diag_con_ptr->diag_entries < 0) { if (get_slave_diag_con_ptr->diag_entries < 0) {
errh_Warning( "Profibus - diagnostic circular buffer owerflow."); errh_Warning( "Profibus - diagnostic circular buffer owerflow.");
} }
if ( (get_slave_diag_con_ptr->diag_entries) && if ( (get_slave_diag_con_ptr->diag_entries) &&
(! local->slave_diag_requested ) ) { (! local->slave_diag_requested ) ) {
if (op->Status == PB__NORMAL) { if (op->Status == PB__NORMAL) {
if (dp_get_slave_diag(hDevice)) { if (dp_get_slave_diag(hDevice)) {
local->slave_diag_requested = op->Diag[3] = PB_TRUE; local->slave_diag_requested = op->Diag[3] = PB_TRUE;
} else {
errh_Warning( "Profibus - Request for diag failed.");
}
} else { } else {
errh_Warning( "Profibus - Request for diag failed."); local->parallel_service = PB_TRUE;
} }
} else {
local->parallel_service = PB_TRUE;
} }
}
break;
break; } /* case DP_GET_SLAVE_DIAG */
} /* case DP_GET_SLAVE_DIAG */
/*--------------------------------------------------------------*/
default: {
break;
} /* deafult service */
} /* switch */
} /* if POS */
else {
op->Status = PB__NOTINIT;
errh_Error( "Profibus DP Master %s - %x neg ind rec", ap->Name, *((unsigned short *) con_ind_buffer) );
} /* else POS */
} /* if IND */
break;
}
case FMB_USR: {
switch (con_ind_sdb.service) {
/*--------------------------------------------------------------*/ /*--------------------------------------------------------------*/
/*--------------------------------------------------------------*/
default: { case FMB_SET_CONFIGURATION:
break; case FMB_EXIT:
} /* deafult service */ case FMB_RESET: {
} /* switch */ break;
} /* if POS */ }
else { case FMB_FM2_EVENT: {
op->Status = PB__NOTINIT; switch (((T_FMB_FM2_EVENT_IND FAR*) con_ind_buffer)->reason) {
errh_Error( "Profibus DP Master %s - %x neg ind rec", ap->Name, *((unsigned short *) con_ind_buffer) ); case FM2_FAULT_ADDRESS : sprintf (s, "Duplicate address recognized"); break;
} /* else POS */ case FM2_FAULT_PHY : sprintf (s, "Phys.layer is malfunctioning"); break;
} /* if IND */ case FM2_FAULT_TTO : sprintf (s, "Time out on bus detected "); break;
case FM2_FAULT_SYN : sprintf (s, "No receiver synchronization "); break;
case FM2_FAULT_OUT_OF_RING : sprintf (s, "Station out of ring "); break;
case FM2_GAP_EVENT : sprintf (s, "New station in ring "); break;
default : sprintf (s, "Unknown reason code received");
} /* switch reason */
errh_Info( "Profibus DP Master %s - %s", ap->Name, s );
break;
} /* case FMB_FM2_EVENT */
default: {
printf("\nnot supported FMB service received\n");
printf("service: %d primitive: %d\n",con_ind_sdb.service,con_ind_sdb.primitive);
break;
} /* deafult service */
} /* switch */
break;
}
case FDLIF_USR: {
switch(con_ind_sdb.service) {
case FDLIF_EVENT:
case FDLIF_SET_BUSPARAMETER:
case FDLIF_READ_BUSPARAMETER:
case FDLIF_SAP_ACTIVATE:
case FDLIF_RSAP_ACTIVATE:
case FDLIF_SAP_DEACTIVATE:
case FDLIF_SAP_CHANGE_ACCESS:
case FDLIF_REPLY_UPDATE:
case FDLIF_REPLY_UPDATE_MULTIPLE:
case FDLIF_EXIT:
break;
case FDLIF_SDN:
if (con_ind_sdb.primitive == IND) {
fdlif_sda_sdn_srd_ind(con_ind_sdb.invoke_id, (T_FDLIF_SDN_SDA_SRD_REQ FAR*) con_ind_buffer, ap->racklist);
}
else {
fdlif_sda_sdn_con(con_ind_sdb.invoke_id, con_ind_sdb.result, (T_FDLIF_ERROR *) con_ind_buffer, ap->racklist);
}
break;
case FDLIF_SDA:
if (con_ind_sdb.primitive == IND) {
fdlif_sda_sdn_srd_ind(con_ind_sdb.invoke_id, (T_FDLIF_SDN_SDA_SRD_REQ FAR*) con_ind_buffer, ap->racklist);
}
else {
fdlif_sda_sdn_con(con_ind_sdb.invoke_id, con_ind_sdb.result, (T_FDLIF_ERROR *) con_ind_buffer, ap->racklist);
}
break;
case FDLIF_SRD:
if (con_ind_sdb.primitive == IND) {
fdlif_sda_sdn_srd_ind(con_ind_sdb.invoke_id, (T_FDLIF_SDN_SDA_SRD_REQ FAR*) con_ind_buffer, ap->racklist);
}
else {
fdlif_srd_con(con_ind_sdb.result, con_ind_sdb.invoke_id, (T_FDLIF_SRD_CNF *) con_ind_buffer, ap->racklist);
}
break;
default:
printf("\nnot supported FDLIF service received\n");
printf("service: %d primitive: %d\n",con_ind_sdb.service, con_ind_sdb.primitive);
}
break;
}
default:
printf("\nnot supported layer service received\n");
printf("layer: %d service: %d primitive: %d\n", con_ind_sdb.layer, con_ind_sdb.service, con_ind_sdb.primitive);
break;
}
} else if (sts != NO_CON_IND_RECEIVED) { } else if (sts != NO_CON_IND_RECEIVED) {
op->Status = PB__NOTINIT; op->Status = PB__NOTINIT;
} else { } else {
...@@ -969,12 +1498,15 @@ static pwr_tStatus IoAgentInit ( ...@@ -969,12 +1498,15 @@ static pwr_tStatus IoAgentInit (
T_PROFI_DEVICE_HANDLE *hDevice; T_PROFI_DEVICE_HANDLE *hDevice;
io_sAgentLocal *local; io_sAgentLocal *local;
pwr_tCid cid;
char ok; char ok;
pwr_tObjid slave_objid; pwr_tObjid slave_objid;
pwr_tClassId slave_class; pwr_tClassId slave_class;
pwr_sClass_Pb_DP_Slave *sop; void *sop;
char name[196]; char name[196];
struct timespec rqtp = {0, 20000000}; // 20 ms struct timespec rqtp = {0, 20000000}; // 20 ms
...@@ -1045,7 +1577,7 @@ static pwr_tStatus IoAgentInit ( ...@@ -1045,7 +1577,7 @@ static pwr_tStatus IoAgentInit (
/* Set FMB configuration */ /* Set FMB configuration */
sts = fmb_set_configuration(hDevice, op); sts = fmb_set_configuration(hDevice, ap);
if (!sts) { if (!sts) {
op->Status = PB__INITFAIL; op->Status = PB__INITFAIL;
errh_Error( "ERROR config Profibus DP Master %s - %s", ap->Name, "fmb set configuration"); errh_Error( "ERROR config Profibus DP Master %s - %s", ap->Name, "fmb set configuration");
...@@ -1059,20 +1591,49 @@ static pwr_tStatus IoAgentInit ( ...@@ -1059,20 +1591,49 @@ static pwr_tStatus IoAgentInit (
/* Set DP master parameters */ /* Set DP master parameters */
sts = dp_init_master(hDevice); if (local->dp) {
if (!sts) {
op->Status = PB__INITFAIL; sts = dp_init_master(hDevice);
errh_Error( "ERROR config Profibus DP Master %s - %s", ap->Name, "dp init master"); if (!sts) {
return IO__ERRINIDEVICE; op->Status = PB__INITFAIL;
errh_Error( "ERROR config Profibus DP Master %s - %s", ap->Name, "dp init master");
return IO__ERRINIDEVICE;
}
} }
/* Download DP bus parameters */ /* Download DP bus parameters */
sts = dp_download_bus(hDevice, op); if (local->dp && !local->fdl) {
if (!sts) { sts = dp_download_bus(hDevice, op);
op->Status = PB__INITFAIL; if (!sts) {
errh_Error( "ERROR config Profibus DP Master %s - %s", ap->Name, "dp download bus"); op->Status = PB__INITFAIL;
return IO__ERRINIDEVICE; errh_Error( "ERROR config Profibus DP Master %s - %s", ap->Name, "dp download bus");
return IO__ERRINIDEVICE;
}
}
else if (!local->dp && local->fdl) {
sts = fmb_set_busparameter(hDevice, op);
if (!sts) {
op->Status = PB__INITFAIL;
errh_Error( "ERROR config Profibus FDL Master %s - %s", ap->Name, "fmb set busparam");
return IO__ERRINIDEVICE;
}
else op->Status = PB__NORMAL;
}
else {
sts = fmb_set_busparameter(hDevice, op);
if (!sts) {
op->Status = PB__INITFAIL;
errh_Error( "ERROR config Profibus Master %s - %s", ap->Name, "fmb set busparam");
return IO__ERRINIDEVICE;
}
sts = dp_set_busparameter(hDevice, op);
if (!sts) {
op->Status = PB__INITFAIL;
errh_Error( "ERROR config Profibus DP Master %s - %s", ap->Name, "dp set busparam");
return IO__ERRINIDEVICE;
}
} }
/* Loop through all slaves (traverse agent's children) and initialize them */ /* Loop through all slaves (traverse agent's children) and initialize them */
...@@ -1083,18 +1644,42 @@ static pwr_tStatus IoAgentInit ( ...@@ -1083,18 +1644,42 @@ static pwr_tStatus IoAgentInit (
while (ODD(status)) { while (ODD(status)) {
status = gdh_GetObjectClass(slave_objid, &slave_class); status = gdh_GetObjectClass(slave_objid, &slave_class);
cid = slave_class;
while ( ODD( gdh_GetSuperClass( cid, &cid, pwr_cNOid))) ;
status = gdh_ObjidToPointer(slave_objid, (pwr_tAddress *) &sop); status = gdh_ObjidToPointer(slave_objid, (pwr_tAddress *) &sop);
status = gdh_ObjidToName(slave_objid, (char *) &name, sizeof(name), cdh_mNName); status = gdh_ObjidToName(slave_objid, (char *) &name, sizeof(name), cdh_mNName);
errh_Info( "Download Profibus DP Slave config - %s", name );
status = dp_download_slave(hDevice, sop); if (cid == pwr_cClass_Pb_DP_Slave) {
errh_Info( "Download Profibus DP Slave config - %s", name );
status = dp_download_slave(hDevice, (pwr_sClass_Pb_DP_Slave *) sop);
if (!status) {
errh_Error( "ERROR Init Profibus DP slave %s", name);
}
op->NumberSlaves++;
}
if (cid == pwr_cClass_Pb_FDL_SAP) {
errh_Info( "Download Profibus FDL SAP config - %s", name );
if (!((pwr_sClass_Pb_FDL_SAP *) sop)->Responder)
status = fdlif_sap_activate_req(hDevice, (pwr_sClass_Pb_FDL_SAP *) sop);
else
status = fdlif_rsap_activate_req(hDevice, (pwr_sClass_Pb_FDL_SAP *) sop);
if (!status) { if (!status) {
errh_Error( "ERROR Init Profibus DP slave %s", name); ((pwr_sClass_Pb_FDL_SAP *) sop)->Status = PB__INITFAIL;
} errh_Error( "ERROR Init Profibus FDL SAP %s", name);
}
else ((pwr_sClass_Pb_FDL_SAP *) sop)->Status = PB__NORMAL;
}
op->NumberSlaves++;
status = gdh_GetNextSibling(slave_objid, &slave_objid); status = gdh_GetNextSibling(slave_objid, &slave_objid);
} }
...@@ -1104,20 +1689,27 @@ static pwr_tStatus IoAgentInit ( ...@@ -1104,20 +1689,27 @@ static pwr_tStatus IoAgentInit (
while (ODD(status)) { while (ODD(status)) {
status = gdh_GetObjectClass(slave_objid, &slave_class); status = gdh_GetObjectClass(slave_objid, &slave_class);
status = gdh_ObjidToPointer(slave_objid, (pwr_tAddress *) &sop);
status = dp_io_offsets(hDevice, sop); cid = slave_class;
while ( ODD( gdh_GetSuperClass( cid, &cid, pwr_cNOid))) ;
if (cid == pwr_cClass_Pb_DP_Slave) {
status = gdh_ObjidToPointer(slave_objid, (pwr_tAddress *) &sop);
status = dp_io_offsets(hDevice, sop);
}
status = gdh_GetNextSibling(slave_objid, &slave_objid); status = gdh_GetNextSibling(slave_objid, &slave_objid);
} }
/* Move to STOP mode, this will fix the DPRAM layout */ /* Move to STOP mode, this will fix the DPRAM layout */
sts = dp_act_param_loc(hDevice, DP_OP_MODE_STOP); if (local->dp) {
if (sts != E_OK) { sts = dp_act_param_loc(hDevice, DP_OP_MODE_STOP);
op->Status = PB__INITFAIL; if (sts != E_OK) {
errh_Error( "ERROR config Profibus DP Master %s - %s", ap->Name, "act param loc to STOPPED"); op->Status = PB__INITFAIL;
return IO__ERRINIDEVICE; errh_Error( "ERROR config Profibus DP Master %s - %s", ap->Name, "act param loc to STOPPED");
return IO__ERRINIDEVICE;
}
} }
ok = TRUE; ok = TRUE;
...@@ -1239,16 +1831,18 @@ static pwr_tStatus IoAgentRead ( ...@@ -1239,16 +1831,18 @@ static pwr_tStatus IoAgentRead (
for (slave_list = ap->racklist; slave_list != NULL; for (slave_list = ap->racklist; slave_list != NULL;
slave_list = slave_list->next) { slave_list = slave_list->next) {
sp = (pwr_sClass_Pb_DP_Slave *) slave_list->op; if (((io_sRackLocal *) slave_list->Local)->dp) {
mp = (pwr_sClass_Pb_Profiboard *) ap->op; sp = (pwr_sClass_Pb_DP_Slave *) slave_list->op;
mp = (pwr_sClass_Pb_Profiboard *) ap->op;
/* Read process data. */
if (sp->Status == PB__NORMAL && mp->Status == PB__NORMAL && sp->DisableSlave != 1 && mp->DisableBus != 1) { /* Read process data. */
if (sp->Status == PB__NORMAL && mp->Status == PB__NORMAL && sp->DisableSlave != 1 && mp->DisableBus != 1) {
data_len = sp->BytesOfInput;
sts = profi_get_data(hDevice, ID_DP_SLAVE_IO_IMAGE, sp->OffsetInputs, &data_len, &sp->Inputs ); data_len = sp->BytesOfInput;
sts = profi_get_data(hDevice, ID_DP_SLAVE_IO_IMAGE, sp->OffsetInputs, &data_len, &sp->Inputs );
}
} }
} }
pthread_mutex_unlock(&local->mutex); pthread_mutex_unlock(&local->mutex);
...@@ -1282,22 +1876,23 @@ static pwr_tStatus IoAgentWrite ( ...@@ -1282,22 +1876,23 @@ static pwr_tStatus IoAgentWrite (
for (slave_list = ap->racklist; slave_list != NULL; for (slave_list = ap->racklist; slave_list != NULL;
slave_list = slave_list->next) { slave_list = slave_list->next) {
sp = (pwr_sClass_Pb_DP_Slave *) slave_list->op; if (((io_sRackLocal *) slave_list->Local)->dp) {
mp = (pwr_sClass_Pb_Profiboard *) ap->op; sp = (pwr_sClass_Pb_DP_Slave *) slave_list->op;
mp = (pwr_sClass_Pb_Profiboard *) ap->op;
// Write the whole I/O output area from local area
// Write the whole I/O output area from local area
if ((sp->Status == PB__NORMAL || sp->Status == PB__NOCONN) &&
mp->Status == PB__NORMAL && (sp->DisableSlave != 1) && (mp->DisableBus != 1)) { if ((sp->Status == PB__NORMAL || sp->Status == PB__NOCONN) &&
mp->Status == PB__NORMAL && (sp->DisableSlave != 1) && (mp->DisableBus != 1)) {
if (sp->BytesOfOutput > 0) {
if (sp->BytesOfOutput > 0) {
sts = profi_set_data(hDevice, ID_DP_SLAVE_IO_IMAGE, sp->OffsetOutputs, sp->BytesOfOutput, &sp->Outputs);
sts = profi_set_data(hDevice, ID_DP_SLAVE_IO_IMAGE, sp->OffsetOutputs, sp->BytesOfOutput, &sp->Outputs);
if (sts != E_OK) sp->ErrorCount++;
if (sts != E_OK) sp->ErrorCount++;
}
} }
} }
} }
pthread_mutex_unlock(&local->mutex); pthread_mutex_unlock(&local->mutex);
......
...@@ -72,12 +72,48 @@ ...@@ -72,12 +72,48 @@
/* io_sAgentLocal now lives in the respective agent modules. */ /* io_sAgentLocal now lives in the respective agent modules. */
typedef struct {
int initialized; typedef struct _io_sRackLocal {
unsigned char fdl;
unsigned char dp;
} io_sRackLocal; } io_sRackLocal;
typedef struct { typedef struct {
void *input_area; void *input_area;
void *output_area; void *output_area;
int scancount[IO_MAXCHAN]; int scancount[IO_MAXCHAN];
} io_sCardLocal; } io_sCardLocal;
typedef struct {
unsigned short invoke_id;
unsigned short input_area_size;
unsigned short output_area_size;
unsigned char *input_area;
unsigned char *output_area;
unsigned short byte_ordering;
unsigned short float_representation;
} io_sFDLCardLocal;
typedef struct _agent_args {
void *local;
io_sAgent *ap;
} agent_args;
typedef struct {
int hServiceReadDevice; // Handle for Service device
int hServiceWriteDevice; // Handle for Service device
int hDpDataDevice; // Handle for DP-Data device
int hDpsInputDataDevice; // Handle for DP-Slave Input-Data device
int hDpsOutputDataDevice; // Handle for DP-Slave Output-Data device
unsigned char CurrentBoardNumber;
int slave_diag_requested; // Slave diag requested
int parallel_service; // parallel activity
int hDpsBoardDevice; // Handle for DP-Slave Output-Data device
pthread_t events;
pthread_mutex_t mutex;
agent_args args;
unsigned char fdl;
unsigned char dp;
unsigned char invoke_id;
} io_sAgentLocal;
...@@ -9,6 +9,8 @@ Pb_Ai ...@@ -9,6 +9,8 @@ Pb_Ai
Pb_Ao Pb_Ao
Pb_Ii Pb_Ii
Pb_Io Pb_Io
Pb_FDL_SAP
Pb_FDL_DataTransfer
PnControllerSoftingPNAK PnControllerSoftingPNAK
PnDevice PnDevice
PnModule PnModule
......
Volume Profibus $ClassVolume 0.0.250.7 Volume Profibus $ClassVolume 0.0.250.7
Body SysBody 05-SEP-2005 17:51:40.00 Body SysBody 05-SEP-2005 17:51:40.00
Attr NextOix = "_X213" Attr NextOix = "_X253"
Attr NextCix = "_X20" Attr NextCix = "_X22"
Attr NextTix[0] = "_X12" Attr NextTix[0] = "_X14"
EndBody EndBody
Object Type $TypeHier 55 16-JAN-2006 10:07:43.21 Object Type $TypeHier 55 16-JAN-2006 10:07:43.21
Object PbNumberRepEnum $TypeDef 1 16-JAN-2006 10:08:18.34 Object PbNumberRepEnum $TypeDef 1 16-JAN-2006 10:08:18.34
...@@ -501,6 +501,142 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -501,6 +501,142 @@ Volume Profibus $ClassVolume 0.0.250.7
EndBody EndBody
EndObject EndObject
EndObject EndObject
Object PbFDLDataTransferTypeEnum $TypeDef 12 14-AUG-2014 12:55:48.90
Body SysBody 14-AUG-2014 10:34:38.53
Attr TypeRef = "pwrs:Type-$Enum"
Attr Elements = 1
EndBody
Object FDLIF_SDA $Value 214 19-AUG-2014 15:41:19.60
Body SysBody 19-AUG-2014 15:41:17.88
Attr Text = "Send Data with Acknowledge"
Attr PgmName = "FDLIF_SDA"
EndBody
EndObject
Object FDLIF_SDN $Value 215 19-AUG-2014 15:41:25.55
Body SysBody 19-AUG-2014 15:41:35.16
Attr Text = "Send Data with No acknowledge"
Attr PgmName = "FDLIF_SDN"
Attr Value = 1
EndBody
EndObject
Object FDLIF_SRD $Value 216 19-AUG-2014 15:41:47.42
Body SysBody 19-AUG-2014 15:41:50.73
Attr Text = "Send and Request Data with reply"
Attr PgmName = "FDLIF_SRD"
Attr Value = 2
EndBody
EndObject
Object FDLIF_RU $Value 217 19-AUG-2014 15:41:55.30
Body SysBody 19-AUG-2014 15:41:58.27
Attr Text = "Reply Update"
Attr PgmName = "FDLIF_RU"
Attr Value = 3
EndBody
EndObject
Object FDLIF_RUM $Value 218 19-AUG-2014 15:42:05.83
Body SysBody 19-AUG-2014 15:42:09.21
Attr Text = "Reply Update Multiple"
Attr PgmName = "FDLIF_RUM"
Attr Value = 4
EndBody
EndObject
EndObject
Object PbFDLDataTransferResEnum $TypeDef 13 21-AUG-2014 14:33:32.74
Body SysBody 21-AUG-2014 14:13:00.34
Attr TypeRef = "pwrs:Type-$Enum"
Attr Elements = 1
EndBody
Object FDL_OK $Value 237 21-AUG-2014 14:13:45.14
Body SysBody 21-AUG-2014 14:13:52.97
Attr Text = "OK"
Attr PgmName = "FDL_OK"
EndBody
EndObject
Object FDL_UE $Value 242 21-AUG-2014 14:14:11.13
Body SysBody 21-AUG-2014 14:14:39.22
Attr Text = "Remote user error"
Attr PgmName = "FDL_UE"
Attr Value = 1
EndBody
EndObject
Object FDL_RR $Value 243 21-AUG-2014 14:14:46.58
Body SysBody 21-AUG-2014 14:15:07.20
Attr Text = "Resource not avilable"
Attr PgmName = "FDL_RR"
Attr Value = 2
EndBody
EndObject
Object FDL_RS $Value 244 21-AUG-2014 14:15:16.55
Body SysBody 21-AUG-2014 14:15:51.11
Attr Text = "Remote service not activated"
Attr PgmName = "FDL_RS"
Attr Value = 3
EndBody
EndObject
Object FDL_RA $Value 245 21-AUG-2014 14:16:11.93
Body SysBody 21-AUG-2014 14:16:31.57
Attr Text = "Remote access blocked"
Attr PgmName = "FDL_RA"
Attr Value = 4
EndBody
EndObject
Object FDL_RDL $Value 246 21-AUG-2014 14:16:46.55
Body SysBody 21-AUG-2014 14:18:24.58
Attr Text = "Negative acknoledgement"
Attr PgmName = "FDL_RDL"
Attr Value = 12
EndBody
EndObject
Object FDL_RDH $Value 247 21-AUG-2014 14:18:38.11
Body SysBody 21-AUG-2014 14:19:36.36
Attr Text = "Negative acknoledgement"
Attr PgmName = "FDL_RDH"
Attr Value = 13
EndBody
EndObject
Object FDL_LS $Value 248 21-AUG-2014 14:19:42.74
Body SysBody 21-AUG-2014 14:20:02.62
Attr Text = "Local service not activated"
Attr PgmName = "FDL_LS"
Attr Value = 16
EndBody
EndObject
Object FDL_NA $Value 249 21-AUG-2014 14:20:11.89
Body SysBody 21-AUG-2014 14:20:32.81
Attr Text = "No remote reaction"
Attr PgmName = "FDL_NA"
Attr Value = 17
EndBody
EndObject
Object FDL_DS $Value 250 21-AUG-2014 14:20:42.67
Body SysBody 21-AUG-2014 14:21:16.93
Attr Text = "Local FDL disconnected"
Attr PgmName = "FDL_DS"
Attr Value = 18
EndBody
EndObject
Object FDL_NO $Value 251 21-AUG-2014 14:21:25.32
Body SysBody 21-AUG-2014 14:21:47.82
Attr Text = "Not OK"
Attr PgmName = "FDL_NO"
Attr Value = 19
EndBody
EndObject
Object FDL_LR $Value 252 21-AUG-2014 14:22:11.46
Body SysBody 21-AUG-2014 14:22:37.16
Attr Text = "Local resource unavailable"
Attr PgmName = "FDL_LR"
Attr Value = 20
EndBody
EndObject
Object FDL_IV $Value 253 21-AUG-2014 14:22:48.77
Body SysBody 21-AUG-2014 14:32:51.58
Attr Text = "Invalid parameter"
Attr PgmName = "FDL_IV"
Attr Value = 21
EndBody
EndObject
EndObject
EndObject EndObject
Object Class $ClassHier 1 16-JAN-2006 10:07:45.26 Object Class $ClassHier 1 16-JAN-2006 10:07:45.26
!/** !/**
...@@ -520,42 +656,49 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -520,42 +656,49 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 1 16-JAN-2006 09:46:40.50 Object Description $Attribute 1 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
Object Process $Attribute 2 16-JAN-2006 09:46:40.50 Object Process $Attribute 2 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.50 Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
Object NumberRepresentation $Attribute 4 16-JAN-2006 09:46:40.50 Object NumberRepresentation $Attribute 4 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "NumberRepresentation" Attr PgmName = "NumberRepresentation"
Attr Size = 4
Attr TypeRef = "Profibus:Type-PbNumberRepEnum" Attr TypeRef = "Profibus:Type-PbNumberRepEnum"
EndBody EndBody
EndObject EndObject
Object NumberOfChannels $Attribute 5 16-JAN-2006 09:46:40.50 Object NumberOfChannels $Attribute 5 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "NumberOfChannels" Attr PgmName = "NumberOfChannels"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
Object BytesPerChannel $Attribute 6 16-JAN-2006 09:46:40.50 Object BytesPerChannel $Attribute 6 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "BytesPerChannel" Attr PgmName = "BytesPerChannel"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
Object Status $Attribute 7 16-JAN-2006 09:46:40.50 Object Status $Attribute 7 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 1
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
...@@ -563,6 +706,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -563,6 +706,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BytesOfInput $Attribute 8 16-JAN-2006 09:46:40.50 Object BytesOfInput $Attribute 8 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "BytesOfInput" Attr PgmName = "BytesOfInput"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -570,6 +714,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -570,6 +714,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object OffsetInputs $Attribute 9 16-JAN-2006 09:46:40.50 Object OffsetInputs $Attribute 9 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "OffsetInputs" Attr PgmName = "OffsetInputs"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -617,42 +762,49 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -617,42 +762,49 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 1 16-JAN-2006 09:46:40.50 Object Description $Attribute 1 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
Object Process $Attribute 2 16-JAN-2006 09:46:40.50 Object Process $Attribute 2 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.50 Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
Object NumberRepresentation $Attribute 4 16-JAN-2006 09:46:40.50 Object NumberRepresentation $Attribute 4 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "NumberRepresentation" Attr PgmName = "NumberRepresentation"
Attr Size = 4
Attr TypeRef = "Profibus:Type-PbNumberRepEnum" Attr TypeRef = "Profibus:Type-PbNumberRepEnum"
EndBody EndBody
EndObject EndObject
Object NumberOfChannels $Attribute 5 16-JAN-2006 09:46:40.50 Object NumberOfChannels $Attribute 5 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "NumberOfChannels" Attr PgmName = "NumberOfChannels"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
Object BytesPerChannel $Attribute 6 16-JAN-2006 09:46:40.50 Object BytesPerChannel $Attribute 6 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "BytesPerChannel" Attr PgmName = "BytesPerChannel"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
Object Status $Attribute 7 16-JAN-2006 09:46:40.50 Object Status $Attribute 7 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 1
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
...@@ -660,6 +812,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -660,6 +812,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BytesOfOutput $Attribute 8 16-JAN-2006 09:46:40.50 Object BytesOfOutput $Attribute 8 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "BytesOfOutput" Attr PgmName = "BytesOfOutput"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -667,6 +820,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -667,6 +820,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object OffsetOutputs $Attribute 9 16-JAN-2006 09:46:40.50 Object OffsetOutputs $Attribute 9 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "OffsetOutputs" Attr PgmName = "OffsetOutputs"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -714,36 +868,42 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -714,36 +868,42 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 1 16-JAN-2006 09:46:40.50 Object Description $Attribute 1 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
Object Process $Attribute 2 16-JAN-2006 09:46:40.50 Object Process $Attribute 2 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.50 Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
Object Orientation $Attribute 4 16-JAN-2006 09:46:40.50 Object Orientation $Attribute 4 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Orientation" Attr PgmName = "Orientation"
Attr Size = 4
Attr TypeRef = "Profibus:Type-PbOrientationEnum" Attr TypeRef = "Profibus:Type-PbOrientationEnum"
EndBody EndBody
EndObject EndObject
Object NumberOfChannels $Attribute 5 16-JAN-2006 09:46:40.50 Object NumberOfChannels $Attribute 5 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "NumberOfChannels" Attr PgmName = "NumberOfChannels"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
Object Status $Attribute 6 16-JAN-2006 09:46:40.50 Object Status $Attribute 6 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 1
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
...@@ -751,30 +911,35 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -751,30 +911,35 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ConvMask1 $Attribute 7 16-JAN-2006 09:46:40.50 Object ConvMask1 $Attribute 7 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ConvMask1" Attr PgmName = "ConvMask1"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object ConvMask2 $Attribute 8 16-JAN-2006 09:46:40.50 Object ConvMask2 $Attribute 8 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ConvMask2" Attr PgmName = "ConvMask2"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object InvMask1 $Attribute 9 16-JAN-2006 09:46:40.50 Object InvMask1 $Attribute 9 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "InvMask1" Attr PgmName = "InvMask1"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object InvMask2 $Attribute 10 16-JAN-2006 09:46:40.50 Object InvMask2 $Attribute 10 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "InvMask2" Attr PgmName = "InvMask2"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object BytesOfInput $Attribute 11 16-JAN-2006 09:46:40.50 Object BytesOfInput $Attribute 11 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "BytesOfInput" Attr PgmName = "BytesOfInput"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -782,6 +947,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -782,6 +947,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object OffsetInputs $Attribute 12 16-JAN-2006 09:46:40.50 Object OffsetInputs $Attribute 12 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "OffsetInputs" Attr PgmName = "OffsetInputs"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -831,36 +997,42 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -831,36 +997,42 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 1 16-JAN-2006 09:46:40.50 Object Description $Attribute 1 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
Object Process $Attribute 2 16-JAN-2006 09:46:40.50 Object Process $Attribute 2 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.50 Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
Object Orientation $Attribute 4 16-JAN-2006 09:46:40.50 Object Orientation $Attribute 4 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Orientation" Attr PgmName = "Orientation"
Attr Size = 4
Attr TypeRef = "Profibus:Type-PbOrientationEnum" Attr TypeRef = "Profibus:Type-PbOrientationEnum"
EndBody EndBody
EndObject EndObject
Object NumberOfChannels $Attribute 5 16-JAN-2006 09:46:40.50 Object NumberOfChannels $Attribute 5 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "NumberOfChannels" Attr PgmName = "NumberOfChannels"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
Object Status $Attribute 6 16-JAN-2006 09:46:40.50 Object Status $Attribute 6 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 1
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
...@@ -868,54 +1040,63 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -868,54 +1040,63 @@ Volume Profibus $ClassVolume 0.0.250.7
Object TestMask1 $Attribute 7 16-JAN-2006 09:46:40.50 Object TestMask1 $Attribute 7 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "TestMask1" Attr PgmName = "TestMask1"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object TestMask2 $Attribute 8 16-JAN-2006 09:46:40.50 Object TestMask2 $Attribute 8 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "TestMask2" Attr PgmName = "TestMask2"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object InvMask1 $Attribute 9 16-JAN-2006 09:46:40.50 Object InvMask1 $Attribute 9 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "InvMask1" Attr PgmName = "InvMask1"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object InvMask2 $Attribute 10 16-JAN-2006 09:46:40.50 Object InvMask2 $Attribute 10 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "InvMask2" Attr PgmName = "InvMask2"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object TestValue1 $Attribute 11 16-JAN-2006 09:46:40.50 Object TestValue1 $Attribute 11 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "TestValue1" Attr PgmName = "TestValue1"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object TestValue2 $Attribute 12 16-JAN-2006 09:46:40.50 Object TestValue2 $Attribute 12 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "TestValue2" Attr PgmName = "TestValue2"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object FixedOutValue1 $Attribute 13 16-JAN-2006 09:46:40.50 Object FixedOutValue1 $Attribute 13 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "FixedOutValue1" Attr PgmName = "FixedOutValue1"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object FixedOutValue2 $Attribute 14 16-JAN-2006 09:46:40.50 Object FixedOutValue2 $Attribute 14 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "FixedOutValue2" Attr PgmName = "FixedOutValue2"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object BytesOfOutput $Attribute 15 16-JAN-2006 09:46:40.50 Object BytesOfOutput $Attribute 15 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "BytesOfOutput" Attr PgmName = "BytesOfOutput"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -923,6 +1104,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -923,6 +1104,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object OffsetOutputs $Attribute 16 16-JAN-2006 09:46:40.50 Object OffsetOutputs $Attribute 16 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "OffsetOutputs" Attr PgmName = "OffsetOutputs"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -976,6 +1158,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -976,6 +1158,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 1 16-JAN-2006 09:46:40.50 Object Description $Attribute 1 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -985,6 +1168,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -985,6 +1168,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Specification $Attribute 38 14-MAR-2006 07:48:52.18 Object Specification $Attribute 38 14-MAR-2006 07:48:52.18
Body SysBody 14-MAR-2006 07:48:52.18 Body SysBody 14-MAR-2006 07:48:52.18
Attr PgmName = "Specification" Attr PgmName = "Specification"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -996,6 +1180,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -996,6 +1180,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object DataSheet $Attribute 39 14-MAR-2006 07:49:15.48 Object DataSheet $Attribute 39 14-MAR-2006 07:49:15.48
Body SysBody 14-MAR-2006 07:49:15.48 Body SysBody 14-MAR-2006 07:49:15.48
Attr PgmName = "DataSheet" Attr PgmName = "DataSheet"
Attr Size = 160
Attr TypeRef = "pwrs:Type-$URL" Attr TypeRef = "pwrs:Type-$URL"
EndBody EndBody
EndObject EndObject
...@@ -1005,6 +1190,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1005,6 +1190,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object GSDfile $Attribute 2 16-JAN-2006 09:46:40.50 Object GSDfile $Attribute 2 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "GSDfile" Attr PgmName = "GSDfile"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -1020,6 +1206,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1020,6 +1206,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Status $Attribute 3 16-JAN-2006 09:46:40.50 Object Status $Attribute 3 16-JAN-2006 09:46:40.50
Body SysBody 23-MAR-2006 09:47:41.08 Body SysBody 23-MAR-2006 09:47:41.08
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 4
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$Status" Attr TypeRef = "pwrs:Type-$Status"
EndBody EndBody
...@@ -1037,6 +1224,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1037,6 +1224,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Process $Attribute 4 16-JAN-2006 09:46:40.50 Object Process $Attribute 4 16-JAN-2006 09:46:40.50
Body SysBody 30-MAY-2008 15:03:04.90 Body SysBody 30-MAY-2008 15:03:04.90
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 4
Attr TypeRef = "pwrb:Type-IoProcessMask" Attr TypeRef = "pwrb:Type-IoProcessMask"
EndBody EndBody
EndObject EndObject
...@@ -1049,6 +1237,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1049,6 +1237,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ThreadObject $Attribute 5 16-JAN-2006 09:46:40.50 Object ThreadObject $Attribute 5 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
...@@ -1058,6 +1247,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1058,6 +1247,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object SlaveAddress $Attribute 6 16-JAN-2006 09:46:40.50 Object SlaveAddress $Attribute 6 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "SlaveAddress" Attr PgmName = "SlaveAddress"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -1068,6 +1258,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1068,6 +1258,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ByteOrdering $Attribute 7 16-JAN-2006 09:46:40.50 Object ByteOrdering $Attribute 7 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ByteOrdering" Attr PgmName = "ByteOrdering"
Attr Size = 4
Attr TypeRef = "pwrb:Type-ByteOrderingEnum" Attr TypeRef = "pwrb:Type-ByteOrderingEnum"
EndBody EndBody
EndObject EndObject
...@@ -1078,6 +1269,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1078,6 +1269,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object FloatRepresentation $Attribute 8 16-JAN-2006 09:46:40.50 Object FloatRepresentation $Attribute 8 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "FloatRepresentation" Attr PgmName = "FloatRepresentation"
Attr Size = 4
Attr TypeRef = "pwrb:Type-FloatRepEnum" Attr TypeRef = "pwrb:Type-FloatRepEnum"
EndBody EndBody
EndObject EndObject
...@@ -1088,6 +1280,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1088,6 +1280,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object StallAction $Attribute 9 16-JAN-2006 09:46:40.50 Object StallAction $Attribute 9 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "StallAction" Attr PgmName = "StallAction"
Attr Size = 4
Attr TypeRef = "Profibus:Type-PbStallActionEnum" Attr TypeRef = "Profibus:Type-PbStallActionEnum"
EndBody EndBody
EndObject EndObject
...@@ -1097,6 +1290,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1097,6 +1290,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object DisableSlave $Attribute 10 16-JAN-2006 09:46:40.50 Object DisableSlave $Attribute 10 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "DisableSlave" Attr PgmName = "DisableSlave"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -1106,6 +1300,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1106,6 +1300,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ErrorCount $Attribute 11 16-JAN-2006 09:46:40.50 Object ErrorCount $Attribute 11 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ErrorCount" Attr PgmName = "ErrorCount"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -1116,6 +1311,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1116,6 +1311,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ErrorSoftLimit $Attribute 12 16-JAN-2006 09:46:40.50 Object ErrorSoftLimit $Attribute 12 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ErrorSoftLimit" Attr PgmName = "ErrorSoftLimit"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -1125,6 +1321,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1125,6 +1321,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ErrorHardLimit $Attribute 13 16-JAN-2006 09:46:40.50 Object ErrorHardLimit $Attribute 13 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ErrorHardLimit" Attr PgmName = "ErrorHardLimit"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -1134,6 +1331,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1134,6 +1331,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object VendorName $Attribute 14 16-JAN-2006 09:46:40.50 Object VendorName $Attribute 14 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "VendorName" Attr PgmName = "VendorName"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -1143,6 +1341,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1143,6 +1341,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ModelName $Attribute 15 16-JAN-2006 09:46:40.50 Object ModelName $Attribute 15 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ModelName" Attr PgmName = "ModelName"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -1152,6 +1351,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1152,6 +1351,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Revision $Attribute 16 16-JAN-2006 09:46:40.50 Object Revision $Attribute 16 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Revision" Attr PgmName = "Revision"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -1161,6 +1361,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1161,6 +1361,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object HardwareRelease $Attribute 17 16-JAN-2006 09:46:40.50 Object HardwareRelease $Attribute 17 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "HardwareRelease" Attr PgmName = "HardwareRelease"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -1170,6 +1371,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1170,6 +1371,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object SoftwareRelease $Attribute 18 16-JAN-2006 09:46:40.50 Object SoftwareRelease $Attribute 18 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "SoftwareRelease" Attr PgmName = "SoftwareRelease"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -1179,6 +1381,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1179,6 +1381,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object PNOIdent $Attribute 19 16-JAN-2006 09:46:40.50 Object PNOIdent $Attribute 19 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "PNOIdent" Attr PgmName = "PNOIdent"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32" Attr TypeRef = "pwrs:Type-$UInt32"
EndBody EndBody
EndObject EndObject
...@@ -1188,6 +1391,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1188,6 +1391,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object GroupIdent $Attribute 20 16-JAN-2006 09:46:40.50 Object GroupIdent $Attribute 20 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "GroupIdent" Attr PgmName = "GroupIdent"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -1202,6 +1406,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1202,6 +1406,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object WdFact1 $Attribute 21 16-JAN-2006 09:46:40.50 Object WdFact1 $Attribute 21 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "WdFact1" Attr PgmName = "WdFact1"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -1216,6 +1421,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1216,6 +1421,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object WdFact2 $Attribute 22 16-JAN-2006 09:46:40.50 Object WdFact2 $Attribute 22 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "WdFact2" Attr PgmName = "WdFact2"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -1225,6 +1431,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1225,6 +1431,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object PrmUserDataLen $Attribute 23 16-JAN-2006 09:46:40.50 Object PrmUserDataLen $Attribute 23 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "PrmUserDataLen" Attr PgmName = "PrmUserDataLen"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -1234,6 +1441,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1234,6 +1441,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object PrmUserData $Attribute 24 16-JAN-2006 09:46:40.50 Object PrmUserData $Attribute 24 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "PrmUserData" Attr PgmName = "PrmUserData"
Attr Size = 256
Attr Flags = 2 Attr Flags = 2
Attr Elements = 256 Attr Elements = 256
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
...@@ -1245,6 +1453,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1245,6 +1453,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object AutoConfigure $Attribute 25 16-JAN-2006 09:46:40.50 Object AutoConfigure $Attribute 25 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "AutoConfigure" Attr PgmName = "AutoConfigure"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -1254,6 +1463,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1254,6 +1463,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ConfigDataLen $Attribute 26 16-JAN-2006 09:46:40.50 Object ConfigDataLen $Attribute 26 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ConfigDataLen" Attr PgmName = "ConfigDataLen"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -1263,6 +1473,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1263,6 +1473,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ConfigData $Attribute 27 16-JAN-2006 09:46:40.50 Object ConfigData $Attribute 27 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ConfigData" Attr PgmName = "ConfigData"
Attr Size = 256
Attr Flags = 2 Attr Flags = 2
Attr Elements = 256 Attr Elements = 256
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
...@@ -1274,6 +1485,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1274,6 +1485,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object SlaveUserDataLen $Attribute 28 16-JAN-2006 09:46:40.50 Object SlaveUserDataLen $Attribute 28 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "SlaveUserDataLen" Attr PgmName = "SlaveUserDataLen"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -1283,6 +1495,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1283,6 +1495,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object SlaveUserData $Attribute 29 16-JAN-2006 09:46:40.50 Object SlaveUserData $Attribute 29 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "SlaveUserData" Attr PgmName = "SlaveUserData"
Attr Size = 256
Attr Flags = 2 Attr Flags = 2
Attr Elements = 256 Attr Elements = 256
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
...@@ -1294,6 +1507,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1294,6 +1507,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BytesOfInput $Attribute 30 16-JAN-2006 09:46:40.50 Object BytesOfInput $Attribute 30 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "BytesOfInput" Attr PgmName = "BytesOfInput"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -1304,6 +1518,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1304,6 +1518,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BytesOfOutput $Attribute 31 16-JAN-2006 09:46:40.50 Object BytesOfOutput $Attribute 31 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "BytesOfOutput" Attr PgmName = "BytesOfOutput"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -1314,6 +1529,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1314,6 +1529,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BytesOfDiag $Attribute 40 07-FEB-2007 13:46:11.30 Object BytesOfDiag $Attribute 40 07-FEB-2007 13:46:11.30
Body SysBody 07-FEB-2007 13:46:13.12 Body SysBody 07-FEB-2007 13:46:13.12
Attr PgmName = "BytesOfDiag" Attr PgmName = "BytesOfDiag"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -1324,6 +1540,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1324,6 +1540,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object OffsetInputs $Attribute 32 16-JAN-2006 09:46:40.50 Object OffsetInputs $Attribute 32 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "OffsetInputs" Attr PgmName = "OffsetInputs"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -1334,6 +1551,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1334,6 +1551,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object OffsetOutputs $Attribute 33 16-JAN-2006 09:46:40.50 Object OffsetOutputs $Attribute 33 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "OffsetOutputs" Attr PgmName = "OffsetOutputs"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -1344,6 +1562,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1344,6 +1562,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object NumberModules $Attribute 34 16-JAN-2006 09:46:40.50 Object NumberModules $Attribute 34 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "NumberModules" Attr PgmName = "NumberModules"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -1354,6 +1573,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1354,6 +1573,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Inputs $Attribute 35 16-JAN-2006 09:46:40.50 Object Inputs $Attribute 35 16-JAN-2006 09:46:40.50
Body SysBody 07-FEB-2007 13:48:15.10 Body SysBody 07-FEB-2007 13:48:15.10
Attr PgmName = "Inputs" Attr PgmName = "Inputs"
Attr Size = 256
Attr Flags = 3074 Attr Flags = 3074
Attr Elements = 256 Attr Elements = 256
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
...@@ -1365,6 +1585,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1365,6 +1585,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Outputs $Attribute 36 16-JAN-2006 09:46:40.50 Object Outputs $Attribute 36 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Outputs" Attr PgmName = "Outputs"
Attr Size = 256
Attr Flags = 3074 Attr Flags = 3074
Attr Elements = 256 Attr Elements = 256
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
...@@ -1376,6 +1597,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1376,6 +1597,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Diag $Attribute 37 16-JAN-2006 09:46:40.50 Object Diag $Attribute 37 16-JAN-2006 09:46:40.50
Body SysBody 21-OCT-2010 09:35:00.07 Body SysBody 21-OCT-2010 09:35:00.07
Attr PgmName = "Diag" Attr PgmName = "Diag"
Attr Size = 256
Attr Flags = 3074 Attr Flags = 3074
Attr Elements = 256 Attr Elements = 256
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
...@@ -1387,6 +1609,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1387,6 +1609,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object StationStatus1 $Attribute 41 07-FEB-2007 13:48:02.19 Object StationStatus1 $Attribute 41 07-FEB-2007 13:48:02.19
Body SysBody 12-JAN-2010 17:12:51.61 Body SysBody 12-JAN-2010 17:12:51.61
Attr PgmName = "StationStatus1" Attr PgmName = "StationStatus1"
Attr Size = 4
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "Profibus:Type-PbStationStatus1Mask" Attr TypeRef = "Profibus:Type-PbStationStatus1Mask"
EndBody EndBody
...@@ -1395,8 +1618,9 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1395,8 +1618,9 @@ Volume Profibus $ClassVolume 0.0.250.7
! Default profibus diagnostic information. ! Default profibus diagnostic information.
!*/ !*/
Object StationStatus2 $Attribute 42 07-FEB-2007 13:50:01.39 Object StationStatus2 $Attribute 42 07-FEB-2007 13:50:01.39
Body SysBody 07-FEB-2007 13:50:09.37 Body SysBody 14-AUG-2014 15:44:01.75
Attr PgmName = "StationStatus2" Attr PgmName = "StationStatus2"
Attr Size = 4
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "Profibus:Type-PbStationStatus2Mask" Attr TypeRef = "Profibus:Type-PbStationStatus2Mask"
EndBody EndBody
...@@ -1407,6 +1631,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1407,6 +1631,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object StationStatus3 $Attribute 43 07-FEB-2007 13:50:21.92 Object StationStatus3 $Attribute 43 07-FEB-2007 13:50:21.92
Body SysBody 07-FEB-2007 13:50:33.63 Body SysBody 07-FEB-2007 13:50:33.63
Attr PgmName = "StationStatus3" Attr PgmName = "StationStatus3"
Attr Size = 4
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "Profibus:Type-PbStationStatus3Mask" Attr TypeRef = "Profibus:Type-PbStationStatus3Mask"
EndBody EndBody
...@@ -1574,42 +1799,49 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1574,42 +1799,49 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 1 16-JAN-2006 09:46:40.50 Object Description $Attribute 1 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
Object Process $Attribute 2 16-JAN-2006 09:46:40.50 Object Process $Attribute 2 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.50 Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
Object NumberRepresentation $Attribute 4 16-JAN-2006 09:46:40.50 Object NumberRepresentation $Attribute 4 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "NumberRepresentation" Attr PgmName = "NumberRepresentation"
Attr Size = 4
Attr TypeRef = "Profibus:Type-PbNumberRepEnum" Attr TypeRef = "Profibus:Type-PbNumberRepEnum"
EndBody EndBody
EndObject EndObject
Object NumberOfChannels $Attribute 5 16-JAN-2006 09:46:40.50 Object NumberOfChannels $Attribute 5 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "NumberOfChannels" Attr PgmName = "NumberOfChannels"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
Object BytesPerChannel $Attribute 6 16-JAN-2006 09:46:40.50 Object BytesPerChannel $Attribute 6 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "BytesPerChannel" Attr PgmName = "BytesPerChannel"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
Object Status $Attribute 7 16-JAN-2006 09:46:40.50 Object Status $Attribute 7 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 1
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
...@@ -1617,6 +1849,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1617,6 +1849,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BytesOfInput $Attribute 8 16-JAN-2006 09:46:40.50 Object BytesOfInput $Attribute 8 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "BytesOfInput" Attr PgmName = "BytesOfInput"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -1624,6 +1857,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1624,6 +1857,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object OffsetInputs $Attribute 9 16-JAN-2006 09:46:40.50 Object OffsetInputs $Attribute 9 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "OffsetInputs" Attr PgmName = "OffsetInputs"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -1671,42 +1905,49 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1671,42 +1905,49 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 1 16-JAN-2006 09:46:40.50 Object Description $Attribute 1 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
Object Process $Attribute 2 16-JAN-2006 09:46:40.50 Object Process $Attribute 2 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.50 Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
Object NumberRepresentation $Attribute 4 16-JAN-2006 09:46:40.50 Object NumberRepresentation $Attribute 4 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "NumberRepresentation" Attr PgmName = "NumberRepresentation"
Attr Size = 4
Attr TypeRef = "Profibus:Type-PbNumberRepEnum" Attr TypeRef = "Profibus:Type-PbNumberRepEnum"
EndBody EndBody
EndObject EndObject
Object NumberOfChannels $Attribute 5 16-JAN-2006 09:46:40.50 Object NumberOfChannels $Attribute 5 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "NumberOfChannels" Attr PgmName = "NumberOfChannels"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
Object BytesPerChannel $Attribute 6 16-JAN-2006 09:46:40.50 Object BytesPerChannel $Attribute 6 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "BytesPerChannel" Attr PgmName = "BytesPerChannel"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
Object Status $Attribute 7 16-JAN-2006 09:46:40.50 Object Status $Attribute 7 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 1
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
...@@ -1714,6 +1955,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1714,6 +1955,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BytesOfOutput $Attribute 8 16-JAN-2006 09:46:40.50 Object BytesOfOutput $Attribute 8 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "BytesOfOutput" Attr PgmName = "BytesOfOutput"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -1721,6 +1963,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1721,6 +1963,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object OffsetOutputs $Attribute 9 16-JAN-2006 09:46:40.50 Object OffsetOutputs $Attribute 9 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "OffsetOutputs" Attr PgmName = "OffsetOutputs"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -1775,6 +2018,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1775,6 +2018,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 1 16-JAN-2006 09:46:40.50 Object Description $Attribute 1 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -1784,12 +2028,14 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1784,12 +2028,14 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Specification $Attribute 2 16-JAN-2006 09:46:40.50 Object Specification $Attribute 2 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Specification" Attr PgmName = "Specification"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
Object ModuleName $Attribute 7 04-APR-2006 15:05:08.68 Object ModuleName $Attribute 7 04-APR-2006 15:05:08.68
Body SysBody 10-MAR-2006 11:50:44.58 Body SysBody 10-MAR-2006 11:50:44.58
Attr PgmName = "ModuleName" Attr PgmName = "ModuleName"
Attr Size = 40
Attr TypeRef = "pwrs:Type-$String40" Attr TypeRef = "pwrs:Type-$String40"
EndBody EndBody
EndObject EndObject
...@@ -1805,6 +2051,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1805,6 +2051,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Process $Attribute 3 16-JAN-2006 09:46:40.50 Object Process $Attribute 3 16-JAN-2006 09:46:40.50
Body SysBody 30-MAY-2008 15:03:33.58 Body SysBody 30-MAY-2008 15:03:33.58
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 4
Attr TypeRef = "pwrb:Type-IoProcessMask" Attr TypeRef = "pwrb:Type-IoProcessMask"
EndBody EndBody
EndObject EndObject
...@@ -1816,6 +2063,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1816,6 +2063,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ThreadObject $Attribute 4 16-JAN-2006 09:46:40.50 Object ThreadObject $Attribute 4 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
...@@ -1825,6 +2073,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1825,6 +2073,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Status $Attribute 5 16-JAN-2006 09:46:40.50 Object Status $Attribute 5 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$Status" Attr TypeRef = "pwrs:Type-$Status"
EndBody EndBody
EndObject EndObject
...@@ -1836,6 +2085,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1836,6 +2085,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object DataSheet $Attribute 6 16-JAN-2006 09:46:40.50 Object DataSheet $Attribute 6 16-JAN-2006 09:46:40.50
Body SysBody 16-JAN-2006 09:46:40.50 Body SysBody 16-JAN-2006 09:46:40.50
Attr PgmName = "DataSheet" Attr PgmName = "DataSheet"
Attr Size = 160
Attr TypeRef = "pwrs:Type-$URL" Attr TypeRef = "pwrs:Type-$URL"
EndBody EndBody
EndObject EndObject
...@@ -1906,7 +2156,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1906,7 +2156,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object RtBody $ObjBodyDef 1 16-JAN-2006 09:46:40.51 Object RtBody $ObjBodyDef 1 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr StructName = "Pb_Profiboard" Attr StructName = "Pb_Profiboard"
Attr NextAix = "_X28" Attr NextAix = "_X29"
EndBody EndBody
!/** !/**
! Text description of the object (comment). ! Text description of the object (comment).
...@@ -1914,6 +2164,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1914,6 +2164,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 1 16-JAN-2006 09:46:40.51 Object Description $Attribute 1 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -1924,6 +2175,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1924,6 +2175,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Process $Attribute 2 16-JAN-2006 09:46:40.51 Object Process $Attribute 2 16-JAN-2006 09:46:40.51
Body SysBody 30-MAY-2008 15:03:56.49 Body SysBody 30-MAY-2008 15:03:56.49
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 4
Attr TypeRef = "pwrb:Type-IoProcessMask" Attr TypeRef = "pwrb:Type-IoProcessMask"
EndBody EndBody
EndObject EndObject
...@@ -1933,6 +2185,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1933,6 +2185,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.51 Object ThreadObject $Attribute 3 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
...@@ -1948,6 +2201,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1948,6 +2201,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Status $Attribute 4 16-JAN-2006 09:46:40.51 Object Status $Attribute 4 16-JAN-2006 09:46:40.51
Body SysBody 23-MAR-2006 09:47:54.90 Body SysBody 23-MAR-2006 09:47:54.90
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 4
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$Status" Attr TypeRef = "pwrs:Type-$Status"
EndBody EndBody
...@@ -1958,6 +2212,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1958,6 +2212,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object DisableBus $Attribute 5 16-JAN-2006 09:46:40.51 Object DisableBus $Attribute 5 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "DisableBus" Attr PgmName = "DisableBus"
Attr Size = 1
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
...@@ -1968,6 +2223,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1968,6 +2223,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object NumberSlaves $Attribute 6 16-JAN-2006 09:46:40.51 Object NumberSlaves $Attribute 6 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "NumberSlaves" Attr PgmName = "NumberSlaves"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -1978,6 +2234,14 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1978,6 +2234,14 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BusNumber $Attribute 7 16-JAN-2006 09:46:40.51 Object BusNumber $Attribute 7 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "BusNumber" Attr PgmName = "BusNumber"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16"
EndBody
EndObject
Object SlaveAddress $Attribute 28 19-AUG-2014 15:08:30.09
Body SysBody 19-AUG-2014 15:08:31.33
Attr PgmName = "SlaveAddress"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -1989,6 +2253,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1989,6 +2253,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object MaxNumberSlaves $Attribute 8 16-JAN-2006 09:46:40.51 Object MaxNumberSlaves $Attribute 8 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "MaxNumberSlaves" Attr PgmName = "MaxNumberSlaves"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -1998,6 +2263,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -1998,6 +2263,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object MaxSlaveOutputLen $Attribute 9 16-JAN-2006 09:46:40.51 Object MaxSlaveOutputLen $Attribute 9 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "MaxSlaveOutputLen" Attr PgmName = "MaxSlaveOutputLen"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2007,6 +2273,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2007,6 +2273,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object MaxSlaveInputLen $Attribute 10 16-JAN-2006 09:46:40.51 Object MaxSlaveInputLen $Attribute 10 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "MaxSlaveInputLen" Attr PgmName = "MaxSlaveInputLen"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2016,6 +2283,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2016,6 +2283,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object MaxSlaveDiagLen $Attribute 27 05-DEC-2011 14:15:03.22 Object MaxSlaveDiagLen $Attribute 27 05-DEC-2011 14:15:03.22
Body SysBody 05-DEC-2011 14:15:04.84 Body SysBody 05-DEC-2011 14:15:04.84
Attr PgmName = "MaxSlaveDiagLen" Attr PgmName = "MaxSlaveDiagLen"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2028,6 +2296,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2028,6 +2296,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BaudRate $Attribute 11 16-JAN-2006 09:46:40.51 Object BaudRate $Attribute 11 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "BaudRate" Attr PgmName = "BaudRate"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2041,6 +2310,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2041,6 +2310,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object StallTime $Attribute 12 16-JAN-2006 09:46:40.51 Object StallTime $Attribute 12 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "StallTime" Attr PgmName = "StallTime"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2057,6 +2327,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2057,6 +2327,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Tsl $Attribute 13 16-JAN-2006 09:46:40.51 Object Tsl $Attribute 13 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "Tsl" Attr PgmName = "Tsl"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2073,6 +2344,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2073,6 +2344,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object MinTsdr $Attribute 14 16-JAN-2006 09:46:40.51 Object MinTsdr $Attribute 14 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "MinTsdr" Attr PgmName = "MinTsdr"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2089,6 +2361,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2089,6 +2361,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object MaxTsdr $Attribute 15 16-JAN-2006 09:46:40.51 Object MaxTsdr $Attribute 15 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "MaxTsdr" Attr PgmName = "MaxTsdr"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2105,6 +2378,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2105,6 +2378,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Tqui $Attribute 16 16-JAN-2006 09:46:40.51 Object Tqui $Attribute 16 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "Tqui" Attr PgmName = "Tqui"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -2121,6 +2395,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2121,6 +2395,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Tset $Attribute 17 16-JAN-2006 09:46:40.51 Object Tset $Attribute 17 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "Tset" Attr PgmName = "Tset"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -2133,6 +2408,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2133,6 +2408,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Ttr $Attribute 18 16-JAN-2006 09:46:40.51 Object Ttr $Attribute 18 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "Ttr" Attr PgmName = "Ttr"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32" Attr TypeRef = "pwrs:Type-$UInt32"
EndBody EndBody
EndObject EndObject
...@@ -2149,6 +2425,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2149,6 +2425,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object G $Attribute 19 16-JAN-2006 09:46:40.51 Object G $Attribute 19 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "G" Attr PgmName = "G"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -2158,6 +2435,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2158,6 +2435,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Hsa $Attribute 20 16-JAN-2006 09:46:40.51 Object Hsa $Attribute 20 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "Hsa" Attr PgmName = "Hsa"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -2174,6 +2452,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2174,6 +2452,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object MaxRetryLimit $Attribute 21 16-JAN-2006 09:46:40.51 Object MaxRetryLimit $Attribute 21 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "MaxRetryLimit" Attr PgmName = "MaxRetryLimit"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -2183,6 +2462,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2183,6 +2462,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BpFlag $Attribute 22 16-JAN-2006 09:46:40.51 Object BpFlag $Attribute 22 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "BpFlag" Attr PgmName = "BpFlag"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -2192,6 +2472,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2192,6 +2472,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object MinSlaveInterval $Attribute 23 16-JAN-2006 09:46:40.51 Object MinSlaveInterval $Attribute 23 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "MinSlaveInterval" Attr PgmName = "MinSlaveInterval"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2201,6 +2482,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2201,6 +2482,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object PollTimeout $Attribute 24 16-JAN-2006 09:46:40.51 Object PollTimeout $Attribute 24 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "PollTimeout" Attr PgmName = "PollTimeout"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2210,6 +2492,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2210,6 +2492,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object DataControlTime $Attribute 25 16-JAN-2006 09:46:40.51 Object DataControlTime $Attribute 25 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "DataControlTime" Attr PgmName = "DataControlTime"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2219,6 +2502,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2219,6 +2502,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Diag $Attribute 26 16-JAN-2006 09:46:40.51 Object Diag $Attribute 26 16-JAN-2006 09:46:40.51
Body SysBody 16-JAN-2006 09:46:40.51 Body SysBody 16-JAN-2006 09:46:40.51
Attr PgmName = "Diag" Attr PgmName = "Diag"
Attr Size = 256
Attr Flags = 3074 Attr Flags = 3074
Attr Elements = 256 Attr Elements = 256
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
...@@ -2311,6 +2595,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2311,6 +2595,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 27 09-DEC-2008 13:19:32.10 Object Description $Attribute 27 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -2321,6 +2606,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2321,6 +2606,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Process $Attribute 28 09-DEC-2008 13:19:32.10 Object Process $Attribute 28 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 4
Attr TypeRef = "pwrb:Type-IoProcessMask" Attr TypeRef = "pwrb:Type-IoProcessMask"
EndBody EndBody
EndObject EndObject
...@@ -2330,6 +2616,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2330,6 +2616,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ThreadObject $Attribute 29 09-DEC-2008 13:19:32.10 Object ThreadObject $Attribute 29 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
...@@ -2345,6 +2632,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2345,6 +2632,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Status $Attribute 30 09-DEC-2008 13:19:32.10 Object Status $Attribute 30 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 4
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$Status" Attr TypeRef = "pwrs:Type-$Status"
EndBody EndBody
...@@ -2355,6 +2643,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2355,6 +2643,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object DisableBus $Attribute 31 09-DEC-2008 13:19:32.10 Object DisableBus $Attribute 31 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "DisableBus" Attr PgmName = "DisableBus"
Attr Size = 1
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
...@@ -2365,6 +2654,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2365,6 +2654,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object NumberSlaves $Attribute 32 09-DEC-2008 13:19:32.10 Object NumberSlaves $Attribute 32 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "NumberSlaves" Attr PgmName = "NumberSlaves"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -2379,6 +2669,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2379,6 +2669,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BusNumber $Attribute 33 09-DEC-2008 13:19:32.10 Object BusNumber $Attribute 33 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "BusNumber" Attr PgmName = "BusNumber"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2390,6 +2681,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2390,6 +2681,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BaudRate $Attribute 37 09-DEC-2008 13:19:32.10 Object BaudRate $Attribute 37 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "BaudRate" Attr PgmName = "BaudRate"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2404,6 +2696,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2404,6 +2696,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object StallTime $Attribute 38 09-DEC-2008 13:19:32.10 Object StallTime $Attribute 38 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "StallTime" Attr PgmName = "StallTime"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2420,6 +2713,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2420,6 +2713,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Tsl $Attribute 39 09-DEC-2008 13:19:32.10 Object Tsl $Attribute 39 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "Tsl" Attr PgmName = "Tsl"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2436,6 +2730,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2436,6 +2730,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object MinTsdr $Attribute 40 09-DEC-2008 13:19:32.10 Object MinTsdr $Attribute 40 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "MinTsdr" Attr PgmName = "MinTsdr"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2452,6 +2747,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2452,6 +2747,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object MaxTsdr $Attribute 41 09-DEC-2008 13:19:32.10 Object MaxTsdr $Attribute 41 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "MaxTsdr" Attr PgmName = "MaxTsdr"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2468,6 +2764,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2468,6 +2764,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Tqui $Attribute 42 09-DEC-2008 13:19:32.10 Object Tqui $Attribute 42 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "Tqui" Attr PgmName = "Tqui"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -2484,6 +2781,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2484,6 +2781,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Tset $Attribute 43 09-DEC-2008 13:19:32.10 Object Tset $Attribute 43 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "Tset" Attr PgmName = "Tset"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -2496,6 +2794,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2496,6 +2794,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Ttr $Attribute 44 09-DEC-2008 13:19:32.10 Object Ttr $Attribute 44 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "Ttr" Attr PgmName = "Ttr"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32" Attr TypeRef = "pwrs:Type-$UInt32"
EndBody EndBody
EndObject EndObject
...@@ -2512,6 +2811,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2512,6 +2811,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object G $Attribute 45 09-DEC-2008 13:19:32.10 Object G $Attribute 45 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "G" Attr PgmName = "G"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -2521,6 +2821,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2521,6 +2821,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Hsa $Attribute 46 09-DEC-2008 13:19:32.10 Object Hsa $Attribute 46 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "Hsa" Attr PgmName = "Hsa"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -2537,6 +2838,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2537,6 +2838,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object MaxRetryLimit $Attribute 47 09-DEC-2008 13:19:32.10 Object MaxRetryLimit $Attribute 47 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "MaxRetryLimit" Attr PgmName = "MaxRetryLimit"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -2546,6 +2848,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2546,6 +2848,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object BpFlag $Attribute 48 09-DEC-2008 13:19:32.10 Object BpFlag $Attribute 48 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "BpFlag" Attr PgmName = "BpFlag"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
EndBody EndBody
EndObject EndObject
...@@ -2555,6 +2858,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2555,6 +2858,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object MinSlaveInterval $Attribute 49 09-DEC-2008 13:19:32.10 Object MinSlaveInterval $Attribute 49 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "MinSlaveInterval" Attr PgmName = "MinSlaveInterval"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2564,6 +2868,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2564,6 +2868,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object PollTimeout $Attribute 50 09-DEC-2008 13:19:32.10 Object PollTimeout $Attribute 50 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "PollTimeout" Attr PgmName = "PollTimeout"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2573,6 +2878,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2573,6 +2878,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object DataControlTime $Attribute 51 09-DEC-2008 13:19:32.10 Object DataControlTime $Attribute 51 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "DataControlTime" Attr PgmName = "DataControlTime"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2582,6 +2888,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2582,6 +2888,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Diag $Attribute 52 09-DEC-2008 13:19:32.10 Object Diag $Attribute 52 09-DEC-2008 13:19:32.10
Body SysBody 09-DEC-2008 13:19:32.10 Body SysBody 09-DEC-2008 13:19:32.10
Attr PgmName = "Diag" Attr PgmName = "Diag"
Attr Size = 256
Attr Flags = 3074 Attr Flags = 3074
Attr Elements = 256 Attr Elements = 256
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
...@@ -2728,6 +3035,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2728,6 +3035,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Type $Attribute 1 10-JUN-2010 10:53:19.20 Object Type $Attribute 1 10-JUN-2010 10:53:19.20
Body SysBody 21-OCT-2010 08:59:53.40 Body SysBody 21-OCT-2010 08:59:53.40
Attr PgmName = "Type" Attr PgmName = "Type"
Attr Size = 4
Attr Flags = 1024 Attr Flags = 1024
Attr TypeRef = "Profibus:Type-PnAlarmTypeEnum" Attr TypeRef = "Profibus:Type-PnAlarmTypeEnum"
EndBody EndBody
...@@ -2738,6 +3046,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2738,6 +3046,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Prio $Attribute 2 10-JUN-2010 10:53:36.41 Object Prio $Attribute 2 10-JUN-2010 10:53:36.41
Body SysBody 30-JUN-2010 11:02:47.21 Body SysBody 30-JUN-2010 11:02:47.21
Attr PgmName = "Prio" Attr PgmName = "Prio"
Attr Size = 4
Attr Flags = 1024 Attr Flags = 1024
Attr TypeRef = "Profibus:Type-PnAlarmPrioEnum" Attr TypeRef = "Profibus:Type-PnAlarmPrioEnum"
EndBody EndBody
...@@ -2748,6 +3057,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2748,6 +3057,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Remaining $Attribute 3 10-JUN-2010 10:54:32.69 Object Remaining $Attribute 3 10-JUN-2010 10:54:32.69
Body SysBody 30-JUN-2010 11:02:51.79 Body SysBody 30-JUN-2010 11:02:51.79
Attr PgmName = "Remaining" Attr PgmName = "Remaining"
Attr Size = 2
Attr Flags = 1024 Attr Flags = 1024
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -2758,6 +3068,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2758,6 +3068,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object SlotNumber $Attribute 4 10-JUN-2010 11:48:57.48 Object SlotNumber $Attribute 4 10-JUN-2010 11:48:57.48
Body SysBody 30-JUN-2010 11:02:56.16 Body SysBody 30-JUN-2010 11:02:56.16
Attr PgmName = "SlotNumber" Attr PgmName = "SlotNumber"
Attr Size = 2
Attr Flags = 1024 Attr Flags = 1024
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -2768,6 +3079,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2768,6 +3079,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object SubslotNumber $Attribute 5 10-JUN-2010 11:49:10.13 Object SubslotNumber $Attribute 5 10-JUN-2010 11:49:10.13
Body SysBody 30-JUN-2010 11:03:00.65 Body SysBody 30-JUN-2010 11:03:00.65
Attr PgmName = "SubslotNumber" Attr PgmName = "SubslotNumber"
Attr Size = 2
Attr Flags = 1024 Attr Flags = 1024
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -2779,6 +3091,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2779,6 +3091,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ModuleIdentNumber $Attribute 6 10-JUN-2010 11:49:40.15 Object ModuleIdentNumber $Attribute 6 10-JUN-2010 11:49:40.15
Body SysBody 30-JUN-2010 11:03:04.71 Body SysBody 30-JUN-2010 11:03:04.71
Attr PgmName = "ModuleIdentNumber" Attr PgmName = "ModuleIdentNumber"
Attr Size = 4
Attr Flags = 1024 Attr Flags = 1024
Attr TypeRef = "pwrs:Type-$UInt32" Attr TypeRef = "pwrs:Type-$UInt32"
EndBody EndBody
...@@ -2790,6 +3103,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2790,6 +3103,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object SubmoduleIdentNumber $Attribute 7 10-JUN-2010 11:49:56.34 Object SubmoduleIdentNumber $Attribute 7 10-JUN-2010 11:49:56.34
Body SysBody 30-JUN-2010 11:03:09.13 Body SysBody 30-JUN-2010 11:03:09.13
Attr PgmName = "SubmoduleIdentNumber" Attr PgmName = "SubmoduleIdentNumber"
Attr Size = 4
Attr Flags = 1024 Attr Flags = 1024
Attr TypeRef = "pwrs:Type-$UInt32" Attr TypeRef = "pwrs:Type-$UInt32"
EndBody EndBody
...@@ -2800,6 +3114,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2800,6 +3114,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Specifier $Attribute 8 10-JUN-2010 12:52:57.01 Object Specifier $Attribute 8 10-JUN-2010 12:52:57.01
Body SysBody 21-OCT-2010 09:34:42.51 Body SysBody 21-OCT-2010 09:34:42.51
Attr PgmName = "Specifier" Attr PgmName = "Specifier"
Attr Size = 2
Attr Flags = 1024 Attr Flags = 1024
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -2810,6 +3125,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2810,6 +3125,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ManuSpecLength $Attribute 9 21-OCT-2010 09:34:26.44 Object ManuSpecLength $Attribute 9 21-OCT-2010 09:34:26.44
Body SysBody 21-OCT-2010 09:34:45.64 Body SysBody 21-OCT-2010 09:34:45.64
Attr PgmName = "ManuSpecLength" Attr PgmName = "ManuSpecLength"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -2819,6 +3135,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2819,6 +3135,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Data $Attribute 10 21-OCT-2010 09:35:37.91 Object Data $Attribute 10 21-OCT-2010 09:35:37.91
Body SysBody 21-OCT-2010 09:35:55.90 Body SysBody 21-OCT-2010 09:35:55.90
Attr PgmName = "Data" Attr PgmName = "Data"
Attr Size = 200
Attr Flags = 3074 Attr Flags = 3074
Attr Elements = 200 Attr Elements = 200
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
...@@ -2852,6 +3169,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2852,6 +3169,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Api $Attribute 1 07-SEP-2011 08:50:09.27 Object Api $Attribute 1 07-SEP-2011 08:50:09.27
Body SysBody 07-SEP-2011 08:50:29.19 Body SysBody 07-SEP-2011 08:50:29.19
Attr PgmName = "Api" Attr PgmName = "Api"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32" Attr TypeRef = "pwrs:Type-$UInt32"
EndBody EndBody
EndObject EndObject
...@@ -2861,6 +3179,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2861,6 +3179,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object SlotNumber $Attribute 2 07-SEP-2011 08:50:58.89 Object SlotNumber $Attribute 2 07-SEP-2011 08:50:58.89
Body SysBody 07-SEP-2011 08:50:58.89 Body SysBody 07-SEP-2011 08:50:58.89
Attr PgmName = "SlotNumber" Attr PgmName = "SlotNumber"
Attr Size = 2
Attr Flags = 1024 Attr Flags = 1024
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -2871,6 +3190,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2871,6 +3190,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object SubslotNumber $Attribute 3 07-SEP-2011 08:50:58.89 Object SubslotNumber $Attribute 3 07-SEP-2011 08:50:58.89
Body SysBody 07-SEP-2011 08:50:58.89 Body SysBody 07-SEP-2011 08:50:58.89
Attr PgmName = "SubslotNumber" Attr PgmName = "SubslotNumber"
Attr Size = 2
Attr Flags = 1024 Attr Flags = 1024
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -2881,6 +3201,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2881,6 +3201,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Index $Attribute 4 07-SEP-2011 08:51:20.46 Object Index $Attribute 4 07-SEP-2011 08:51:20.46
Body SysBody 07-SEP-2011 08:51:21.42 Body SysBody 07-SEP-2011 08:51:21.42
Attr PgmName = "Index" Attr PgmName = "Index"
Attr Size = 2
Attr Flags = 1024 Attr Flags = 1024
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -2891,6 +3212,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2891,6 +3212,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Length $Attribute 5 07-SEP-2011 08:55:25.16 Object Length $Attribute 5 07-SEP-2011 08:55:25.16
Body SysBody 07-SEP-2011 08:55:25.53 Body SysBody 07-SEP-2011 08:55:25.53
Attr PgmName = "Length" Attr PgmName = "Length"
Attr Size = 2
Attr Flags = 1024 Attr Flags = 1024
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -2901,6 +3223,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2901,6 +3223,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Data $Attribute 6 07-SEP-2011 08:56:03.58 Object Data $Attribute 6 07-SEP-2011 08:56:03.58
Body SysBody 07-SEP-2011 08:56:48.30 Body SysBody 07-SEP-2011 08:56:48.30
Attr PgmName = "Data" Attr PgmName = "Data"
Attr Size = 256
Attr Flags = 1026 Attr Flags = 1026
Attr Elements = 256 Attr Elements = 256
Attr TypeRef = "pwrs:Type-$UInt8" Attr TypeRef = "pwrs:Type-$UInt8"
...@@ -2912,6 +3235,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2912,6 +3235,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object SendReq $Attribute 7 07-SEP-2011 09:13:01.58 Object SendReq $Attribute 7 07-SEP-2011 09:13:01.58
Body SysBody 07-SEP-2011 09:13:16.75 Body SysBody 07-SEP-2011 09:13:16.75
Attr PgmName = "SendReq" Attr PgmName = "SendReq"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$Boolean" Attr TypeRef = "pwrs:Type-$Boolean"
EndBody EndBody
EndObject EndObject
...@@ -2927,16 +3251,16 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2927,16 +3251,16 @@ Volume Profibus $ClassVolume 0.0.250.7
! @Group Profinet ! @Group Profinet
! @Summary Configures a Softing Profinet controller stack. ! @Summary Configures a Softing Profinet controller stack.
! Configures a Sofing Profinet controller stack. ! Configures a Sofing Profinet controller stack.
! !
! Proview has support for a Profinet stack from Softing (www.softing.com). ! Proview has support for a Profinet stack from Softing (www.softing.com).
! The Profinet stack is implemented as three Linux kernel modules. The stack ! The Profinet stack is implemented as three Linux kernel modules. The stack
! is configured by the current object and is placed below the $Node object. ! is configured by the current object and is placed below the $Node object.
! !
! See Proview documentation 'Guide to I/O System' for more information. See also ! See Proview documentation 'Guide to I/O System' for more information. See also
! a Case Study in class help class ABB_ACS880_PnDevice ! a Case Study in class help class ABB_ACS880_PnDevice
! !
! Note due to Softing licens requirements the NIC must have a specific macadress. ! Note due to Softing licens requirements the NIC must have a specific macadress.
! !
! Example: ! Example:
! !
! auto eth1 ! auto eth1
...@@ -2944,14 +3268,14 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2944,14 +3268,14 @@ Volume Profibus $ClassVolume 0.0.250.7
! address 192.168.90.1 ! address 192.168.90.1
! netmask 255.255.254.0 ! netmask 255.255.254.0
! hwaddress ether xx:xx:xx:xx:xx:xx ! hwaddress ether xx:xx:xx:xx:xx:xx
! !
! where xx:xx:xx:xx:xx:xx needs to be: ! where xx:xx:xx:xx:xx:xx needs to be:
! !
! AA:00:04:00:xx:14 where xx is 21-52 (hex, i.e. max 50 device available) ! AA:00:04:00:xx:14 where xx is 21-52 (hex, i.e. max 50 device available)
! !
! See also an example 9 'Ethernet interface settings in file' /etc/network/interfaces ! See also an example 9 'Ethernet interface settings in file' /etc/network/interfaces
! in class ABB_ACS880_PnDevice. ! in class ABB_ACS880_PnDevice.
! !
! @b See also ! @b See also
! @classlink PnDevice profibus_pndevice.html ! @classlink PnDevice profibus_pndevice.html
! @classlink PnModule profibus_pnmodule.html ! @classlink PnModule profibus_pnmodule.html
...@@ -2974,6 +3298,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2974,6 +3298,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 53 21-APR-2009 13:41:08.17 Object Description $Attribute 53 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -2983,6 +3308,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2983,6 +3308,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object EthernetDevice $Attribute 57 27-AUG-2010 15:41:20.42 Object EthernetDevice $Attribute 57 27-AUG-2010 15:41:20.42
Body SysBody 27-AUG-2010 15:41:26.88 Body SysBody 27-AUG-2010 15:41:26.88
Attr PgmName = "EthernetDevice" Attr PgmName = "EthernetDevice"
Attr Size = 40
Attr TypeRef = "pwrs:Type-$String40" Attr TypeRef = "pwrs:Type-$String40"
EndBody EndBody
EndObject EndObject
...@@ -2992,6 +3318,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -2992,6 +3318,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Process $Attribute 54 21-APR-2009 13:41:08.17 Object Process $Attribute 54 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 4
Attr TypeRef = "pwrb:Type-IoProcessMask" Attr TypeRef = "pwrb:Type-IoProcessMask"
EndBody EndBody
EndObject EndObject
...@@ -3001,6 +3328,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3001,6 +3328,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ThreadObject $Attribute 55 21-APR-2009 13:41:08.17 Object ThreadObject $Attribute 55 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
...@@ -3010,6 +3338,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3010,6 +3338,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Status $Attribute 56 21-APR-2009 13:41:08.17 Object Status $Attribute 56 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 4
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$Status" Attr TypeRef = "pwrs:Type-$Status"
EndBody EndBody
...@@ -3066,16 +3395,16 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3066,16 +3395,16 @@ Volume Profibus $ClassVolume 0.0.250.7
! When the gsdmlfile is supplied the device can be configured by the Profinet ! When the gsdmlfile is supplied the device can be configured by the Profinet
! configurator. See Proview documentation 'Guide to I/O System' for more ! configurator. See Proview documentation 'Guide to I/O System' for more
! information. See also a Case Study class ABB_ACS880_PnDevice. ! information. See also a Case Study class ABB_ACS880_PnDevice.
! !
! Note 'DeviceName' is the most important setting and defines the device on ! Note 'DeviceName' is the most important setting and defines the device on
! the network. When IO communication starts the Profinet stack will first ! the network. When IO communication starts the Profinet stack will first
! look up all the devices on the network by the name. ! look up all the devices on the network by the name.
! !
! There is a viewer tool for searching a network for Profinet devices and to set the ! There is a viewer tool for searching a network for Profinet devices and to set the
! 'DeviceName'. The viewer is started from a terminal window with the shell command: ! 'DeviceName'. The viewer is started from a terminal window with the shell command:
! !
! > profinet_viewer [device] ! > profinet_viewer [device]
! !
! Where 'device' is the network device, eg eth0. By default the profinet_viewer will ! Where 'device' is the network device, eg eth0. By default the profinet_viewer will
! connect to eth1. ! connect to eth1.
! !
...@@ -3106,6 +3435,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3106,6 +3435,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 87 21-APR-2009 13:41:08.17 Object Description $Attribute 87 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -3115,6 +3445,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3115,6 +3445,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Specification $Attribute 88 21-APR-2009 13:41:08.17 Object Specification $Attribute 88 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "Specification" Attr PgmName = "Specification"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -3124,6 +3455,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3124,6 +3455,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object DataSheet $Attribute 89 21-APR-2009 13:41:08.17 Object DataSheet $Attribute 89 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "DataSheet" Attr PgmName = "DataSheet"
Attr Size = 160
Attr TypeRef = "pwrs:Type-$URL" Attr TypeRef = "pwrs:Type-$URL"
EndBody EndBody
EndObject EndObject
...@@ -3133,6 +3465,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3133,6 +3465,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object GSDMLfile $Attribute 90 21-APR-2009 13:41:08.17 Object GSDMLfile $Attribute 90 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "GSDMLfile" Attr PgmName = "GSDMLfile"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -3142,6 +3475,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3142,6 +3475,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Status $Attribute 91 21-APR-2009 13:41:08.17 Object Status $Attribute 91 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 4
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$Status" Attr TypeRef = "pwrs:Type-$Status"
EndBody EndBody
...@@ -3158,6 +3492,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3158,6 +3492,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Process $Attribute 92 21-APR-2009 13:41:08.17 Object Process $Attribute 92 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 4
Attr TypeRef = "pwrb:Type-IoProcessMask" Attr TypeRef = "pwrb:Type-IoProcessMask"
EndBody EndBody
EndObject EndObject
...@@ -3167,6 +3502,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3167,6 +3502,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ThreadObject $Attribute 93 21-APR-2009 13:41:08.17 Object ThreadObject $Attribute 93 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
...@@ -3176,6 +3512,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3176,6 +3512,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ErrorCount $Attribute 94 21-APR-2009 13:41:08.17 Object ErrorCount $Attribute 94 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "ErrorCount" Attr PgmName = "ErrorCount"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -3186,6 +3523,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3186,6 +3523,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ErrorSoftLimit $Attribute 95 21-APR-2009 13:41:08.17 Object ErrorSoftLimit $Attribute 95 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "ErrorSoftLimit" Attr PgmName = "ErrorSoftLimit"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -3195,6 +3533,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3195,6 +3533,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ErrorHardLimit $Attribute 96 21-APR-2009 13:41:08.17 Object ErrorHardLimit $Attribute 96 21-APR-2009 13:41:08.17
Body SysBody 12-JAN-2010 17:07:13.74 Body SysBody 12-JAN-2010 17:07:13.74
Attr PgmName = "ErrorHardLimit" Attr PgmName = "ErrorHardLimit"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
EndObject EndObject
...@@ -3204,6 +3543,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3204,6 +3543,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object State $Attribute 97 12-JAN-2010 17:06:58.08 Object State $Attribute 97 12-JAN-2010 17:06:58.08
Body SysBody 10-JUN-2010 10:30:30.44 Body SysBody 10-JUN-2010 10:30:30.44
Attr PgmName = "State" Attr PgmName = "State"
Attr Size = 4
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "Profibus:Type-PnDeviceStateEnum" Attr TypeRef = "Profibus:Type-PnDeviceStateEnum"
EndBody EndBody
...@@ -3214,6 +3554,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3214,6 +3554,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object NoDiffModules $Attribute 98 12-JAN-2010 17:09:39.73 Object NoDiffModules $Attribute 98 12-JAN-2010 17:09:39.73
Body SysBody 12-JAN-2010 17:09:56.44 Body SysBody 12-JAN-2010 17:09:56.44
Attr PgmName = "NoDiffModules" Attr PgmName = "NoDiffModules"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -3224,6 +3565,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3224,6 +3565,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ErrSlotNumber $Attribute 99 12-JAN-2010 17:10:25.95 Object ErrSlotNumber $Attribute 99 12-JAN-2010 17:10:25.95
Body SysBody 12-JAN-2010 17:10:28.22 Body SysBody 12-JAN-2010 17:10:28.22
Attr PgmName = "ErrSlotNumber" Attr PgmName = "ErrSlotNumber"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -3234,6 +3576,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3234,6 +3576,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ErrModuleState $Attribute 100 12-JAN-2010 17:11:23.49 Object ErrModuleState $Attribute 100 12-JAN-2010 17:11:23.49
Body SysBody 10-JUN-2010 10:30:12.41 Body SysBody 10-JUN-2010 10:30:12.41
Attr PgmName = "ErrModuleState" Attr PgmName = "ErrModuleState"
Attr Size = 4
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "Profibus:Type-PnModuleStateEnum" Attr TypeRef = "Profibus:Type-PnModuleStateEnum"
EndBody EndBody
...@@ -3244,6 +3587,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3244,6 +3587,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object PhysIdentNumber $Attribute 101 12-JAN-2010 17:14:23.50 Object PhysIdentNumber $Attribute 101 12-JAN-2010 17:14:23.50
Body SysBody 12-JAN-2010 17:14:45.08 Body SysBody 12-JAN-2010 17:14:45.08
Attr PgmName = "PhysIdentNumber" Attr PgmName = "PhysIdentNumber"
Attr Size = 2
Attr Flags = 3072 Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16" Attr TypeRef = "pwrs:Type-$UInt16"
EndBody EndBody
...@@ -3254,6 +3598,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3254,6 +3598,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ByteOrdering $Attribute 102 09-JUN-2010 10:31:22.82 Object ByteOrdering $Attribute 102 09-JUN-2010 10:31:22.82
Body SysBody 09-JUN-2010 10:31:22.82 Body SysBody 09-JUN-2010 10:31:22.82
Attr PgmName = "ByteOrdering" Attr PgmName = "ByteOrdering"
Attr Size = 4
Attr TypeRef = "pwrb:Type-ByteOrderingEnum" Attr TypeRef = "pwrb:Type-ByteOrderingEnum"
EndBody EndBody
EndObject EndObject
...@@ -3263,6 +3608,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3263,6 +3608,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object FloatRepresentation $Attribute 103 09-JUN-2010 10:31:22.82 Object FloatRepresentation $Attribute 103 09-JUN-2010 10:31:22.82
Body SysBody 09-JUN-2010 10:31:22.82 Body SysBody 09-JUN-2010 10:31:22.82
Attr PgmName = "FloatRepresentation" Attr PgmName = "FloatRepresentation"
Attr Size = 4
Attr TypeRef = "pwrb:Type-FloatRepEnum" Attr TypeRef = "pwrb:Type-FloatRepEnum"
EndBody EndBody
EndObject EndObject
...@@ -3272,6 +3618,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3272,6 +3618,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Alarm $Attribute 104 10-JUN-2010 11:50:27.33 Object Alarm $Attribute 104 10-JUN-2010 11:50:27.33
Body SysBody 10-JUN-2010 11:51:43.64 Body SysBody 10-JUN-2010 11:51:43.64
Attr PgmName = "Alarm" Attr PgmName = "Alarm"
Attr Size = 240
Attr Flags = 131072 Attr Flags = 131072
Attr TypeRef = "Profibus:Class-PnAlarm" Attr TypeRef = "Profibus:Class-PnAlarm"
EndBody EndBody
...@@ -3282,6 +3629,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3282,6 +3629,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object WriteReq $Attribute 105 07-SEP-2011 10:24:03.67 Object WriteReq $Attribute 105 07-SEP-2011 10:24:03.67
Body SysBody 07-SEP-2011 10:24:13.69 Body SysBody 07-SEP-2011 10:24:13.69
Attr PgmName = "WriteReq" Attr PgmName = "WriteReq"
Attr Size = 280
Attr Flags = 131072 Attr Flags = 131072
Attr TypeRef = "Profibus:Class-PnWriteReq" Attr TypeRef = "Profibus:Class-PnWriteReq"
EndBody EndBody
...@@ -3463,22 +3811,22 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3463,22 +3811,22 @@ Volume Profibus $ClassVolume 0.0.250.7
! @Group Profinet ! @Group Profinet
! @Summary Configures a Profinet module. ! @Summary Configures a Profinet module.
! Configures a Profinet module. ! Configures a Profinet module.
! !
! This object configures the data exchange between a Profinet Slave Device and a ! This object configures the data exchange between a Profinet Slave Device and a
! Profinet Master. ! Profinet Master.
! !
! The class PnModule will be valid for all types of modules. In many cases there exist ! The class PnModule will be valid for all types of modules. In many cases there exist
! prepared subclasses of the PnModule­class for the specific module. This is for example ! prepared subclasses of the PnModule­class for the specific module. This is for example
! the case for a Siemens ET200M device. For the prepared classes the IO channels will ! the case for a Siemens ET200M device. For the prepared classes the IO channels will
! exist as a part of the moduleobject. The prepared classes should be used if they exist. ! exist as a part of the moduleobject. The prepared classes should be used if they exist.
! See Proview documentation 'Guide to I/O System! for more information. ! See Proview documentation 'Guide to I/O Systemfor more information.
! !
! @bConfiguration (prepared subclasses) ! @bConfiguration (prepared subclasses)
! One device object (not this module object) are placed as children to the master. For ! One device object (not this module object) are placed as children to the master. For
! the device object, a profinet configurator is opened, that configures the device object ! the device object, a profinet configurator is opened, that configures the device object
! and creates this module objects for the modules handled by the device. See ! and creates this module objects for the modules handled by the device. See
! a Case Study in class ABB_ACS880_PnDevice for more information. ! a Case Study in class ABB_ACS880_PnDevice for more information.
! !
! @classlink PnControllerSoftingPNAK profibus_pncontrollersoftingpnak.html ! @classlink PnControllerSoftingPNAK profibus_pncontrollersoftingpnak.html
! @classlink PnDevice profibus_pndevice.html ! @classlink PnDevice profibus_pndevice.html
! @classlink ABB_ACS880_PnDevice abb_abb_acs880_pndevice.html ! @classlink ABB_ACS880_PnDevice abb_abb_acs880_pndevice.html
...@@ -3500,6 +3848,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3500,6 +3848,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Description $Attribute 15 21-APR-2009 13:41:08.17 Object Description $Attribute 15 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "Description" Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -3509,6 +3858,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3509,6 +3858,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Specification $Attribute 16 21-APR-2009 13:41:08.17 Object Specification $Attribute 16 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "Specification" Attr PgmName = "Specification"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80" Attr TypeRef = "pwrs:Type-$String80"
EndBody EndBody
EndObject EndObject
...@@ -3518,6 +3868,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3518,6 +3868,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ModuleName $Attribute 17 21-APR-2009 13:41:08.17 Object ModuleName $Attribute 17 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "ModuleName" Attr PgmName = "ModuleName"
Attr Size = 40
Attr TypeRef = "pwrs:Type-$String40" Attr TypeRef = "pwrs:Type-$String40"
EndBody EndBody
EndObject EndObject
...@@ -3533,6 +3884,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3533,6 +3884,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Process $Attribute 18 21-APR-2009 13:41:08.17 Object Process $Attribute 18 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "Process" Attr PgmName = "Process"
Attr Size = 4
Attr TypeRef = "pwrb:Type-IoProcessMask" Attr TypeRef = "pwrb:Type-IoProcessMask"
EndBody EndBody
EndObject EndObject
...@@ -3542,6 +3894,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3542,6 +3894,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object ThreadObject $Attribute 19 21-APR-2009 13:41:08.17 Object ThreadObject $Attribute 19 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "ThreadObject" Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid" Attr TypeRef = "pwrs:Type-$Objid"
EndBody EndBody
EndObject EndObject
...@@ -3551,6 +3904,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3551,6 +3904,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object Status $Attribute 20 21-APR-2009 13:41:08.17 Object Status $Attribute 20 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "Status" Attr PgmName = "Status"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$Status" Attr TypeRef = "pwrs:Type-$Status"
EndBody EndBody
EndObject EndObject
...@@ -3560,6 +3914,7 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3560,6 +3914,7 @@ Volume Profibus $ClassVolume 0.0.250.7
Object DataSheet $Attribute 21 21-APR-2009 13:41:08.17 Object DataSheet $Attribute 21 21-APR-2009 13:41:08.17
Body SysBody 21-APR-2009 13:41:08.17 Body SysBody 21-APR-2009 13:41:08.17
Attr PgmName = "DataSheet" Attr PgmName = "DataSheet"
Attr Size = 160
Attr TypeRef = "pwrs:Type-$URL" Attr TypeRef = "pwrs:Type-$URL"
EndBody EndBody
EndObject EndObject
...@@ -3612,5 +3967,512 @@ Volume Profibus $ClassVolume 0.0.250.7 ...@@ -3612,5 +3967,512 @@ Volume Profibus $ClassVolume 0.0.250.7
EndBody EndBody
EndObject EndObject
EndObject EndObject
!/**
! @Author RK
! @Version 1.0
! @Group Profibus
! @Summary Configures a Profibus FDL Service Access Point (SAP) or Remote Service Access Point (RSAP).
! Configures a Profibus FDL (R)SAP.
!
! With Profibus FDL Service Access Points data transfer services between nodes on a Profibus
! network is made possible.
! There are two SAP types reflecting the different charachteristics of Master Stations and
! Slave Stations. Usually, "regular" SAP's are activated o Master Stations whereas Respnder
! SAP's (RSAP's) are activated on Slave Stations. However both can be used on either one.
!
! A (R)SAP is defined by an address in the interval 0-63. A SAP is used to issue data transfers
! to a remote SAP or RSAP. A SAP can also be used to request data from a remote RSAP.
! A RSAP cannot request data from a remote (R)SAP. It is used to respond on a data request
! and to receive data.
!
! This object defines a SAP or RSAP and it's address. Also defined is the slave address
! of the node that this SAP will exchange data with. It should be created as a child to a
! Pb_Profiboard.
!
! See Proview documentation 'Guide to I/O Systems' for more information.
!
! @bConfiguration
! Instances of the class Pb_FDL_DataTransfer are created as children to the Pb_FDL_SAP object.
!
! For the SAP more than one instance can be created of the types SDA, SDN and SRD. These
! different type are used to send data to a remote SAP (types SDA and SDN) or to request data and
! if needed, at the same time send, data (type SRD). See more on class Pb_FDL_DataTransfer.
!
! For a RSAP instance only one instance can be created of type RUM used to recieve data and to update
! the data that will be sent back by a SRD request.
!
! @classlink Pb_Profiboard profibus_pb_profiboard.html
! @classlink Pb_FDL_DataTransfer profibus_pb_fdl_datatransfer.html
!*/
Object Pb_FDL_SAP $ClassDef 20 14-AUG-2014 15:41:44.75
Body SysBody 14-AUG-2014 16:00:20.15
Attr Editor = 0
Attr Method = 0
Attr Flags = 41040
EndBody
Object RtBody $ObjBodyDef 1 14-AUG-2014 13:07:14.05
Body SysBody 14-AUG-2014 15:41:47.61
Attr StructName = "Pb_FDL_SAP"
Attr NextAix = "_X46"
EndBody
!/**
! Description of this SAP.
!*/
Object Description $Attribute 1 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
!/**
! Specification of this SAP.
!*/
Object Specification $Attribute 2 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "Specification"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
!/**
! Datasheet for this SAP.
!*/
Object DataSheet $Attribute 3 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "DataSheet"
Attr Size = 160
Attr TypeRef = "pwrs:Type-$URL"
EndBody
EndObject
!/**
! SAP address. 0-63.
!*/
Object SAP_Nr $Attribute 8 14-AUG-2014 15:08:21.08
Body SysBody 14-AUG-2014 15:08:22.90
Attr PgmName = "SAP_Nr"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16"
EndBody
EndObject
!/**
! This SAP should work as a Responder SAP (RSAP).
!*/
Object Responder $Attribute 45 19-AUG-2014 15:06:59.82
Body SysBody 19-AUG-2014 15:07:08.14
Attr PgmName = "Responder"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$Boolean"
EndBody
EndObject
!/**
! Slave address. Profibus slave that this SAP should send data to.
!*/
Object SlaveAddress $Attribute 44 19-AUG-2014 15:07:25.23
Body SysBody 19-AUG-2014 15:07:28.18
Attr PgmName = "SlaveAddress"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16"
EndBody
EndObject
!/**
! Status of this SAP.
!*/
Object Status $Attribute 5 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "Status"
Attr Size = 4
Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$Status"
EndBody
EndObject
!/**
! @Summary Process that handles the slave. Plc(1), rt_io_comm(2) or application process(4).
! Process that handles the slave. All slaves belonging to the same Profiboard must be handled
! by the same process.
!
! 1: The slave is handled by the plc process, and by a specific
! thread in the plc, which is specified in the ThreadObject attribute.
! 2: The slave is handled by the rt_io_comm process.
! 4: The slave is handled by an application program.
!*/
Object Process $Attribute 6 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "Process"
Attr Size = 4
Attr TypeRef = "pwrb:Type-IoProcessMask"
EndBody
EndObject
!/**
! @Summary Plc thread that handles the slave.
! The PlcThread object of the plc thread that handles the slave.
! The slave is handled with the scantime of the thread.
! All slaves
!*/
Object ThreadObject $Attribute 7 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
EndObject
!/**
! Byte ordering of the SAP.
! Little or Big Endian (from which side do this slave eat it's egg, the little or big end ?).
!*/
Object ByteOrdering $Attribute 9 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "ByteOrdering"
Attr Size = 4
Attr TypeRef = "pwrb:Type-ByteOrderingEnum"
EndBody
EndObject
!/**
! Float representation of the slave..
! Intel or IEEE.
!*/
Object FloatRepresentation $Attribute 10 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "FloatRepresentation"
Attr Size = 4
Attr TypeRef = "pwrb:Type-FloatRepEnum"
EndBody
EndObject
!/**
! Stall action.
! No action, reset inputs or set emergency break.
! Not used.
!*/
Object StallAction $Attribute 11 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "StallAction"
Attr Size = 4
Attr TypeRef = "Profibus:Type-PbStallActionEnum"
EndBody
EndObject
!/**
! Stall action.
! Not used.
!*/
Object DisableSlave $Attribute 12 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "DisableSlave"
Attr Size = 1
Attr TypeRef = "pwrs:Type-$UInt8"
EndBody
EndObject
!/**
! Error count.
! Not used.
!*/
Object ErrorCount $Attribute 13 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "ErrorCount"
Attr Size = 2
Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16"
EndBody
EndObject
!/**
! Error soft limit.
! Not used.
!*/
Object ErrorSoftLimit $Attribute 14 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "ErrorSoftLimit"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16"
EndBody
EndObject
!/**
! Error hard limit.
! Not used.
!*/
Object ErrorHardLimit $Attribute 15 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "ErrorHardLimit"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16"
EndBody
EndObject
!/**
! Number modules.
! Not used.
!*/
Object NumberModules $Attribute 37 14-AUG-2014 13:30:57.23
Body SysBody 14-AUG-2014 13:30:57.23
Attr PgmName = "NumberModules"
Attr Size = 2
Attr Flags = 3072
Attr TypeRef = "pwrs:Type-$UInt16"
EndBody
EndObject
EndObject
Object ConfiguratorPoson $Menu 219 14-AUG-2014 13:10:10.59
Object Pointed $Menu 220 14-AUG-2014 13:10:10.59
Object ConnectThread $MenuButton 221 14-AUG-2014 13:10:10.59
Body SysBody 14-AUG-2014 13:10:10.59
Attr ButtonName = "Connect PlcThread"
Attr MethodName = "$Objid-Connect"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object IoMethods $RtMethod 222 19-AUG-2014 15:06:31.72
Object IoRackInit $Method 223 14-AUG-2014 13:10:19.23
Body SysBody 14-AUG-2014 13:10:44.39
Attr MethodName = "Pb_FDL_SAP-IoRackInit"
EndBody
EndObject
Object IoRackClose $Method 224 14-AUG-2014 13:10:19.23
Body SysBody 14-AUG-2014 13:28:56.70
Attr MethodName = "Pb_FDL_SAP-IoRackClose"
EndBody
EndObject
EndObject
Object PostCreate $DbCallBack 227 14-AUG-2014 13:29:36.45
Body SysBody 14-AUG-2014 13:29:36.45
Attr MethodName = "BaseIOCard-PostCreate"
EndBody
EndObject
Object Template Pb_FDL_SAP 2152955904 01-JAN-1970 01:00:00.00
Body RtBody 21-AUG-2014 15:05:17.51
Attr Process = 1
Attr ByteOrdering = 1
Attr FloatRepresentation = 1
EndBody
EndObject
EndObject
!/**
! @Author RK
! @Version 1.0
! @Group Profibus
! @Summary Configures a Profibus FDL Data Transfer Service.
! Configures a Profibus FDL Data Transfer Service.
!
! With Profibus FDL Service Access Points data transfer services between nodes on a Profibus
! network is made possible.
!
! There are two SAP types reflecting the different charachteristics of Master Stations and
! Slave Stations. Usually, "regular" SAP's are activated on Master Stations whereas Respnder
! SAP's (RSAP's) are activated on Slave Stations. However both can be used on either one.
!
! There are five types of data transfer services that can be configured. Three for sending and/or
! requesting data and two for preparing reply data (only one supported).
!
! The first three of them are used from a SAP and cannot be used with a responder SAP (RSAP). These
! are SDA (Send Data with Acknowledge), SDN (Send Data with No acknowledge) and SRD (Send and Request
! Data with reply). When requesting data no data need to be sent.
!
! The other two services are used together with a responder SAP (RSAP) to prepare the reply data
! that will be sent back to a SAP upon the receipt of a SDA, SDN or SRD. These are RU (Reply-Update,
! this one is not supported) and RUM (Reply-Update-Multiple)
!
! Each data transfer is configured with the destination address (address of remote (R)SAP).
!
! The data that is to be sent or received are created as standard I/O channels which should be
! created as children to the Pb_FDL_DataTransfer-object. When receiveing data, the data will always
! be directed to the first (top) Pb_FDL_DataTransfer-object found as a child to the
! Pb_FDL_SAP-object.
!
! See Proview documentation 'Guide to I/O Systems' for more information.
!
! @bConfiguration
! Instances of the class Pb_FDL_DataTransfer are created as children to the Pb_FDL_SAP object.
!
! I/O-channels are created as children to the Pb_FDL_DataTransfer-object to represent the
! data being sent and/or received.
!
! For a RSAP instance only one instance can be created of type RUM used to recieve data and to update
! the data that will be sent back by a SRD request.
!
! @classlink Pb_FDL_SAP profibus_pb_fdl_sap.html
!*/
Object Pb_FDL_DataTransfer $ClassDef 21 14-AUG-2014 15:41:30.53
Body SysBody 14-AUG-2014 15:41:08.64
Attr Editor = 0
Attr Method = 0
Attr Flags = 49232
EndBody
Object RtBody $ObjBodyDef 1 14-AUG-2014 15:41:08.64
Body SysBody 14-AUG-2014 15:41:39.18
Attr StructName = "Pb_FDL_DataTransfer"
Attr NextAix = "_X19"
EndBody
!/**
! Description of this FDL_DataTransfer.
!*/
Object Description $Attribute 8 14-AUG-2014 15:41:08.64
Body SysBody 14-AUG-2014 15:41:08.64
Attr PgmName = "Description"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
!/**
! Specification of this FDL_DataTransfer.
!*/
Object Specification $Attribute 9 14-AUG-2014 15:41:08.64
Body SysBody 14-AUG-2014 15:41:08.64
Attr PgmName = "Specification"
Attr Size = 80
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
!/**
! Destination address of remote (R)SAP (0-63).
!*/
Object DestSAP $Attribute 15 14-AUG-2014 15:42:47.50
Body SysBody 14-AUG-2014 15:43:22.52
Attr PgmName = "DestSAP"
Attr Size = 2
Attr TypeRef = "pwrs:Type-$UInt16"
EndBody
EndObject
!/**
! Data transfer type.
! FDLIF_SDA - Send Data with Acknowledge
! FDLIF_SDN - Send Data with No acknowledge
! FDLIF_SRD - Send and Request Data with reply
! FDLIF_RU - Reply Update (not supprted, RUM will always be used)
! FDLIF_RUM - Reply Update Multiple
!
! SDA and SDN can also receive data explictly sent with a SDA or SDN service from a
! remote SAP. If more than one Pb_FDL_DataTransfer objects have been created for a single
! SAP then the first child will receive the data.
!*/
Object Type $Attribute 16 14-AUG-2014 15:43:27.65
Body SysBody 14-AUG-2014 15:44:26.58
Attr PgmName = "Type"
Attr Size = 4
Attr TypeRef = "Profibus:Type-PbFDLDataTransferTypeEnum"
EndBody
EndObject
!/**
! Result of operation.
! FDL_OK - If no error was reported during operation.
!*/
Object Result $Attribute 18 21-AUG-2014 14:33:17.09
Body SysBody 21-AUG-2014 15:06:59.67
Attr PgmName = "Result"
Attr Size = 4
Attr TypeRef = "Profibus:Type-PbFDLDataTransferResEnum"
EndBody
EndObject
!/**
! Send request.
! Setting of this flag will trigger the data transfer service.
!*/
Object SendReq $Attribute 17 14-AUG-2014 15:58:41.14
Body SysBody 14-AUG-2014 15:58:47.91
Attr PgmName = "SendReq"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$Boolean"
EndBody
EndObject
!/**
! @Summary Process that handles the slave. Plc(1), rt_io_comm(2) or application process(4).
! Process that handles the slave. All slaves belonging to the same Profiboard must be handled
! by the same process.
!
! 1: The slave is handled by the plc process, and by a specific
! thread in the plc, which is specified in the ThreadObject attribute.
! 2: The slave is handled by the rt_io_comm process.
! 4: The slave is handled by an application program.
!*/
Object Process $Attribute 11 14-AUG-2014 15:41:08.64
Body SysBody 14-AUG-2014 15:41:08.64
Attr PgmName = "Process"
Attr Size = 4
Attr TypeRef = "pwrb:Type-IoProcessMask"
EndBody
EndObject
!/**
! @Summary Plc thread that handles the slave.
! The PlcThread object of the plc thread that handles the slave.
! The slave is handled with the scantime of the thread.
! All slaves
!*/
Object ThreadObject $Attribute 12 14-AUG-2014 15:41:08.64
Body SysBody 14-AUG-2014 15:41:08.64
Attr PgmName = "ThreadObject"
Attr Size = 8
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
EndObject
!/**
! Status of this SAP.
!*/
Object Status $Attribute 13 14-AUG-2014 15:41:08.64
Body SysBody 14-AUG-2014 15:41:08.64
Attr PgmName = "Status"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$Status"
EndBody
EndObject
!/**
! Data sheet for this data transfer service.
!*/
Object DataSheet $Attribute 14 14-AUG-2014 15:41:08.64
Body SysBody 14-AUG-2014 15:41:08.64
Attr PgmName = "DataSheet"
Attr Size = 160
Attr TypeRef = "pwrs:Type-$URL"
EndBody
EndObject
EndObject
Object ConfiguratorPoson $Menu 228 14-AUG-2014 15:41:08.64
Object Pointed $Menu 229 14-AUG-2014 15:41:08.64
Object ConnectThread $MenuButton 230 14-AUG-2014 15:41:08.64
Body SysBody 14-AUG-2014 15:41:08.64
Attr ButtonName = "Connect PlcThread"
Attr MethodName = "$Objid-Connect"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterName = "$Objid-IsOkConnect"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object IoMethods $RtMethod 231 14-AUG-2014 15:41:08.64
Object IoCardInit $Method 232 14-AUG-2014 15:41:08.64
Body SysBody 20-AUG-2014 15:53:31.24
Attr MethodName = "Pb_FDL_DataTransfer-IoCardInit"
EndBody
EndObject
Object IoCardClose $Method 233 14-AUG-2014 15:41:08.64
Body SysBody 20-AUG-2014 15:53:50.44
Attr MethodName = "Pb_FDL_DataTransfer-IoCardClose"
EndBody
EndObject
Object IoCardRead $Method 234 14-AUG-2014 15:41:08.64
Body SysBody 20-AUG-2014 15:53:58.05
Attr MethodName = "Pb_FDL_DataTransfer-IoCardRead"
EndBody
EndObject
Object IoCardWrite $Method 235 14-AUG-2014 15:41:08.64
Body SysBody 20-AUG-2014 15:54:31.17
Attr MethodName = "Pb_FDL_DataTransfer-IoCardWrite"
EndBody
EndObject
EndObject
Object PostCreate $DbCallBack 236 14-AUG-2014 15:41:08.64
Body SysBody 14-AUG-2014 15:41:08.64
Attr MethodName = "BaseIOCard-PostCreate"
EndBody
EndObject
Object Template Pb_FDL_DataTransfer 2153218048 01-JAN-1970 01:00:00.00
Body RtBody 21-AUG-2014 15:06:16.90
Attr Process = 1
EndBody
EndObject
EndObject
EndObject EndObject
EndVolume EndVolume
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment