Commit 8d796eb4 authored by Claes Sjofors's avatar Claes Sjofors

Ssab card methods PostCreate and SetAddress added to calculate addres for cards

parent 3df84517
......@@ -38,6 +38,7 @@
#include <stdio.h>
#include <string.h>
#include <math.h>
#include "wb_pwrs.h"
#include "wb_ldh_msg.h"
#include "wb_pwrb_msg.h"
......@@ -47,6 +48,9 @@
#include "wb_ldh.h"
#include "wb_wsx.h"
#include "wb_session.h"
#include "wb_dbcb.h"
#include "wb_ssab_card_address.h"
//
// Syntax check.
......@@ -61,11 +65,39 @@ static pwr_tStatus SyntaxCheck (
return wsx_CheckIoDevice( Session, Object, ErrorCount, WarningCount, wsx_mCardOption_ErrorLimits);
}
static pwr_tStatus PostCreate (
ldh_tSesContext Session,
pwr_tOid Object,
pwr_tOid Father,
pwr_tCid Class
) {
pwr_tStatus sts;
sts = dbcb_InsertPlcThreadObject( Session, Object);
if ( EVEN(sts)) return sts;
sts = ssab_SetAddress( (wb_session *)Session, Object);
return sts;
}
static pwr_tStatus SetAddress (
ldh_sMenuCall *ip
)
{
pwr_tStatus sts;
sts = ssab_SetAddress( (wb_session *)ip->PointedSession, ip->Pointed.Objid);
return sts;
}
//
// Every method to be exported to the workbench should be registred here.
//
pwr_dExport pwr_BindMethods(Ssab_BaseACard) = {
pwr_BindMethod(SyntaxCheck),
pwr_BindMethod(PostCreate),
pwr_BindMethod(SetAddress),
pwr_NullMethod
};
......@@ -47,6 +47,8 @@
#include "wb_ldh.h"
#include "wb_wsx.h"
#include "wb_session.h"
#include "wb_dbcb.h"
#include "wb_ssab_card_address.h"
//
// Syntax check.
......@@ -62,11 +64,38 @@ static pwr_tStatus SyntaxCheck (
return wsx_CheckIoDevice( Session, Object, ErrorCount, WarningCount, wsx_mCardOption_ErrorLimits);
}
static pwr_tStatus PostCreate (
ldh_tSesContext Session,
pwr_tOid Object,
pwr_tOid Father,
pwr_tCid Class
) {
pwr_tStatus sts;
sts = dbcb_InsertPlcThreadObject( Session, Object);
if ( EVEN(sts)) return sts;
sts = ssab_SetAddress( (wb_session *)Session, Object);
return sts;
}
static pwr_tStatus SetAddress (
ldh_sMenuCall *ip
)
{
pwr_tStatus sts;
sts = ssab_SetAddress( (wb_session *)ip->PointedSession, ip->Pointed.Objid);
return sts;
}
//
// Every method to be exported to the workbench should be registred here.
//
pwr_dExport pwr_BindMethods(Ssab_BaseDiCard) = {
pwr_BindMethod(SyntaxCheck),
pwr_BindMethod(PostCreate),
pwr_BindMethod(SetAddress),
pwr_NullMethod
};
......@@ -47,6 +47,8 @@
#include "wb_ldh.h"
#include "wb_wsx.h"
#include "wb_session.h"
#include "wb_dbcb.h"
#include "wb_ssab_card_address.h"
//
// Syntax check.
......@@ -61,11 +63,38 @@ static pwr_tStatus SyntaxCheck (
return wsx_CheckIoDevice( Session, Object, ErrorCount, WarningCount, wsx_mCardOption_ErrorLimits);
}
static pwr_tStatus PostCreate (
ldh_tSesContext Session,
pwr_tOid Object,
pwr_tOid Father,
pwr_tCid Class
) {
pwr_tStatus sts;
sts = dbcb_InsertPlcThreadObject( Session, Object);
if ( EVEN(sts)) return sts;
sts = ssab_SetAddress( (wb_session *)Session, Object);
return sts;
}
static pwr_tStatus SetAddress (
ldh_sMenuCall *ip
)
{
pwr_tStatus sts;
sts = ssab_SetAddress( (wb_session *)ip->PointedSession, ip->Pointed.Objid);
return sts;
}
//
// Every method to be exported to the workbench should be registred here.
//
pwr_dExport pwr_BindMethods(Ssab_BaseDoCard) = {
pwr_BindMethod(SyntaxCheck),
pwr_BindMethod(PostCreate),
pwr_BindMethod(SetAddress),
pwr_NullMethod
};
/*
* Proview Open Source Process Control.
* Copyright (C) 2005-2016 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.
**/
/* wb_c_ssab_co4up.cpp -- work bench methods of the Ssab_CO4uP class */
#include <stdio.h>
#include <string.h>
#include <math.h>
#include "wb_pwrs.h"
#include "wb_ldh_msg.h"
#include "wb_pwrb_msg.h"
#include "pwr_baseclasses.h"
#include "pwr_basecomponentclasses.h"
#include "pwr_ssaboxclasses.h"
#include "wb_ldh.h"
#include "wb_wsx.h"
#include "wb_session.h"
#include "wb_dbcb.h"
#include "wb_ssab_card_address.h"
//
// Syntax check.
//
static pwr_tStatus SyntaxCheck (
ldh_tSesContext Session,
pwr_tAttrRef Object, /* current object */
int *ErrorCount, /* accumulated error count */
int *WarningCount /* accumulated waring count */
) {
return wsx_CheckIoDevice( Session, Object, ErrorCount, WarningCount, wsx_mCardOption_ErrorLimits);
}
static pwr_tStatus PostCreate (
ldh_tSesContext Session,
pwr_tOid Object,
pwr_tOid Father,
pwr_tCid Class
) {
pwr_tStatus sts;
sts = dbcb_InsertPlcThreadObject( Session, Object);
if ( EVEN(sts)) return sts;
sts = ssab_SetAddress( (wb_session *)Session, Object);
return sts;
}
static pwr_tStatus SetAddress (
ldh_sMenuCall *ip
)
{
pwr_tStatus sts;
sts = ssab_SetAddress( (wb_session *)ip->PointedSession, ip->Pointed.Objid);
return sts;
}
//
// Every method to be exported to the workbench should be registred here.
//
pwr_dExport pwr_BindMethods(Ssab_CO4uP) = {
pwr_BindMethod(SyntaxCheck),
pwr_BindMethod(PostCreate),
pwr_BindMethod(SetAddress),
pwr_NullMethod
};
/*
* Proview Open Source Process Control.
* Copyright (C) 2005-2016 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.
**/
/* wb_ssab_card_address.cpp -- Calculate address for ssab cards */
#include <stdio.h>
#include <string.h>
#include <math.h>
#include "wb_pwrs.h"
#include "wb_ldh_msg.h"
#include "wb_pwrb_msg.h"
#include "pwr_baseclasses.h"
#include "pwr_basecomponentclasses.h"
#include "pwr_ssaboxclasses.h"
#include "wb_ldh.h"
#include "wb_session.h"
#include "wb_ssab_card_address.h"
static bool addressTypeIsEqual( pwr_tCid cid1, pwr_tCid cid2)
{
pwr_tCid groups[][5] = {
{pwr_cClass_Ssab_DO32DKS, pwr_cClass_Ssab_DO32DKS_Stall, pwr_cClass_Do_HVDO32, 0, 0},
{pwr_cClass_Ssab_DI32D, pwr_cClass_Di_DIX2, 0, 0, 0},
{pwr_cClass_Ssab_CO4uP, pwr_cClass_Co_CO4uP, pwr_cClass_Co_PI24BO, 0, 0},
{pwr_cClass_Ssab_AI32uP, pwr_cClass_Ssab_AI16uP, pwr_cClass_Ssab_AI8uP, 0, 0},
{pwr_cClass_Ssab_AO8uP, pwr_cClass_Ssab_AO8uPL, 0, 0, 0}};
if ( cid1 == cid2)
return 1;
unsigned int group;
for ( unsigned int i = 0; i < sizeof(groups)/sizeof(groups[0]); i++) {
// Check if cid1 is member of any group
int found = 0;
for ( unsigned int j = 0; j < sizeof(groups[0])/sizeof(groups[0][0]); j++) {
if ( cid1 == groups[i][j]) {
found = 1;
group = j;
break;
}
}
if ( found) {
// Check if cid2 is in the same group
for ( unsigned int j = 0; j < sizeof(groups[0])/sizeof(groups[0][0]); j++) {
if ( cid2 == groups[i][j])
return 1;
}
return 0;
}
}
return 0;
}
pwr_tStatus ssab_SetAddress( wb_session *sp, pwr_tOid oid)
{
wb_object o = sp->object(oid);
wb_object parent = o.parent();
pwr_tUInt32 nyno = 0;
pwr_tUInt32 lynxno = 0;
pwr_tUInt32 bitno = 0;
pwr_tUInt32 offset = 0;
int no = 1;
for ( wb_object child = parent.first(); child; child = child.after()) {
if ( addressTypeIsEqual( o.cid(), child.cid())) {
if ( child.oid().oix == o.oid().oix)
break;
no++;
}
}
switch ( o.cid()) {
case pwr_cClass_Ssab_DO32DKS:
case pwr_cClass_Ssab_DO32DKS_Stall:
case pwr_cClass_Do_HVDO32:
nyno = 0176000 + 04*(no-1);
bitno = (nyno - 0176000)/2;
lynxno = 4193280 + 4*(no-1);
break;
case pwr_cClass_Ssab_DI32D:
case pwr_cClass_Di_DIX2:
offset = (no == 17 || no == 18)? 0300 : 0000;
nyno = 0176100 + 04*(no-1) + offset;
bitno = (nyno - 0176000)/2;
lynxno = 4193344 + 4*(no-1) + offset;
break;
case pwr_cClass_Ssab_CO4uP:
case pwr_cClass_Co_CO4uP:
case pwr_cClass_Co_PI24BO:
nyno = 0176300 + 020*(no-1) + offset;
bitno = (nyno - 0176000)/2;
lynxno = 4193472 + 16*(no-1) + offset;
break;
case pwr_cClass_Ao_HVAO4:
nyno = 0176200 + 010*(no-1) + offset;
bitno = (nyno - 0176000)/2;
lynxno = 4193416 + 8*(no-1) + offset;
break;
case pwr_cClass_Ai_HVAI32:
nyno = 0176400 + 02*(no-1) + offset;
bitno = (nyno - 0176000)/2;
lynxno = 4193536 + 2*(no-1) + offset;
break;
case pwr_cClass_Ssab_AI32uP:
case pwr_cClass_Ssab_AI16uP:
case pwr_cClass_Ssab_AI8uP:
offset = (no == 9 || no == 10)? 0000 : 02000;
nyno = 0165000 + 0100*(no-1) + offset;
bitno = (nyno - 0140000)/64;
lynxno = 4188672 + 64*(no-1) + offset;
break;
case pwr_cClass_Ssab_AO8uP:
case pwr_cClass_Ssab_AO8uPL:
nyno = 0176200 + 020*(no-1) + offset;
bitno = (nyno - 0174000)/16;
lynxno = 4193408 + 16*(no-1) + offset;
break;
case pwr_cClass_Ssab_PIDuP:
nyno = 0175400 + 04*(no-1) + offset;
bitno = (nyno - 0174000)/4;
lynxno = 4193024 + 4*(no-1) + offset;
break;
case pwr_cClass_Ssab_AO16uP_Logger:
nyno = 0175000 + 040*(no-1) + offset;
bitno = (nyno - 0174000)/4;
lynxno = 4192768 + 32*(no-1) + offset;
break;
default:
return 0;
}
pwr_tUInt32 bits = 0;
pwr_tUInt32 mask;
for ( int i = 0; i < 8; i++) {
mask = 1 << i;
if ( bitno & mask)
bits += (int)(pow(10,i) + 0.1);
}
wb_attribute a = sp->attribute( o.oid(), "RtBody", "RegAddress");
if ( !a) return a.sts();
try {
sp->writeAttribute(a, (char *)&lynxno, sizeof(lynxno));
if ( EVEN(sp->sts())) return sp->sts();
}
catch (wb_error& e) {
return e.sts();
}
a = sp->attribute( o.oid(), "RtBody", "SwitchSettings");
if ( !a) return a.sts();
try {
sp->writeAttribute(a, (char *)&bits, sizeof(bits));
if ( EVEN(sp->sts())) return sp->sts();
}
catch (wb_error& e) {
return e.sts();
}
return 1;
}
/*
* Proview Open Source Process Control.
* Copyright (C) 2005-2016 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.
**/
/* wb_ssab_card_address.h -- Calculate address for ssab cards */
#ifndef wb_ssab_card_address_h
#define wb_ssab_card_address_h
pwr_tStatus ssab_SetAddress( wb_session *sp, pwr_tOid oid);
#endif
......@@ -10,3 +10,4 @@ Do_HVDO32
Ssab_BaseACard
Ssab_BaseDiCard
Ssab_BaseDoCard
Ssab_CO4uP
\ No newline at end of file
Volume SsabOx $ClassVolume 0.0.250.5
Body SysBody 01-JAN-1970 01:00:00.00
Attr NextOix = "_X182"
Attr NextOix = "_X257"
Attr NextCix = "_X33"
Attr NextTix[0] = "_X5"
EndBody
......@@ -294,9 +294,10 @@ Volume SsabOx $ClassVolume 0.0.250.5
! @Summary QBUS address of the card.
! QBUS address of the card.
! The value is set with address switches on the card.
! NoteThe value in RegAddress is a decimal value
! Note! The value in RegAddress is a decimal value
!
! Card number Octal address Decimal Address
!
! Ai1 167000 4189696
! Ai2 167100 4189760
! Ai3 167200 4189824
......@@ -305,6 +306,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
! Ai6 167500 4190016
! Ai7 167600 4190080
! Ai8 167700 4190144
!
! Ao1 176210 4193416
! Ao2 176220 4193424
! Ao3 176230 4193432
......@@ -312,7 +314,10 @@ Volume SsabOx $ClassVolume 0.0.250.5
! Ao5 176250 4193448
! Ao6 176260 4193456
!
! For VAX_ELN RegAddress is used for documentation only, and usually specified as an octal value.
! The value is filled in when the object is created, calculated
! from the current position of the object in the rack. If the
! positions is changed the address can be updated with the SetAddress
! method in the popup menu.
!*/
Object RegAddress $Attribute 7 06-OCT-2005 14:45:53.00
Body SysBody 01-JAN-1970 01:00:00.00
......@@ -322,11 +327,18 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndBody
EndObject
!/**
! Vector address. Used on VAX_ELN only, and only for documentation.
! Settings of the address switch on the board.
! The value is filled in when the object is created, calculated
! from the current position of the object in the rack. If the
! positions is changed the settings can be updated with the SetAddress
! method in the popup menu.
!
! The settings are presented with an integer value, and leading zeros
! are missing.
!*/
Object VectAddress $Attribute 8 06-OCT-2005 14:45:53.00
Body SysBody 01-JAN-1970 01:00:00.00
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 8 04-MAR-2016 13:16:41.87
Body SysBody 04-MAR-2016 13:16:46.71
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......@@ -392,11 +404,91 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
Object SetAddress $MenuButton 183 04-MAR-2016 16:55:09.00
Body SysBody 04-MAR-2016 16:55:52.88
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseACard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosnn $Menu 184 04-MAR-2016 17:19:07.77
Object Pointed $Menu 185 04-MAR-2016 17:03:25.45
Object SetAddress $MenuButton 187 04-MAR-2016 17:03:25.45
Body SysBody 04-MAR-2016 17:03:25.45
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseACard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosos $Menu 191 04-MAR-2016 17:19:37.39
Object Pointed $Menu 192 04-MAR-2016 17:18:35.03
Object SetAddress $MenuButton 193 04-MAR-2016 17:18:35.03
Body SysBody 04-MAR-2016 17:18:35.03
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseACard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosms $Menu 194 04-MAR-2016 17:20:01.97
Object Pointed $Menu 195 04-MAR-2016 17:18:36.44
Object SetAddress $MenuButton 196 04-MAR-2016 17:18:36.44
Body SysBody 04-MAR-2016 17:18:36.44
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseACard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosmn $Menu 197 04-MAR-2016 17:20:20.77
Object Pointed $Menu 198 04-MAR-2016 17:18:37.17
Object SetAddress $MenuButton 199 04-MAR-2016 17:18:37.17
Body SysBody 04-MAR-2016 17:18:37.17
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseACard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPoscn $Menu 206 04-MAR-2016 17:30:58.87
Object Pointed $Menu 207 04-MAR-2016 17:30:48.12
Object SetAddress $MenuButton 208 04-MAR-2016 17:30:48.12
Body SysBody 04-MAR-2016 17:30:48.12
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseACard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object PostCreate $DbCallBack 177 05-OCT-2010 11:14:29.89
Body SysBody 05-OCT-2010 16:18:40.17
Attr MethodName = "BaseIOCard-PostCreate"
Body SysBody 04-MAR-2016 15:26:38.98
Attr MethodName = "Ssab_BaseACard-PostCreate"
EndBody
EndObject
EndObject
......@@ -507,7 +599,10 @@ Volume SsabOx $ClassVolume 0.0.250.5
! Di17 176500 4193600
! Di18 176504 4193604
!
! For VAX_ELN RegAddress is used for documentation only, and usually specified as an octal value.
! The value is filled in when the object is created, calculated
! from the current position of the object in the rack. If the
! positions is changed the address can be updated with the SetAddress
! method in the popup menu.
!*/
Object RegAddress $Attribute 7 06-OCT-2005 14:45:53.00
Body SysBody 01-JAN-1970 01:00:00.00
......@@ -517,11 +612,18 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndBody
EndObject
!/**
! Vector address. Used on VAX_ELN only, and only for documentation.
! Settings of the address switch on the board.
! The value is filled in when the object is created, calculated
! from the current position of the object in the rack. If the
! positions is changed the settings can be updated with the SetAddress
! method in the popup menu.
!
! The settings are presented with an integer value, and leading zeros
! are missing.
!*/
Object VectAddress $Attribute 8 06-OCT-2005 14:45:53.00
Body SysBody 01-JAN-1970 01:00:00.00
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 8 04-MAR-2016 13:17:10.05
Body SysBody 04-MAR-2016 13:17:07.55
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......@@ -617,8 +719,8 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndObject
EndObject
Object PostCreate $DbCallBack 178 05-OCT-2010 16:19:01.60
Body SysBody 05-OCT-2010 16:19:01.60
Attr MethodName = "BaseIOCard-PostCreate"
Body SysBody 04-MAR-2016 17:49:13.17
Attr MethodName = "Ssab_BaseDiCard-PostCreate"
EndBody
EndObject
Object Template Ssab_BaseDiCard 2148499456 06-OCT-2005 14:45:53.00
......@@ -642,6 +744,86 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
Object SetAddress $MenuButton 224 04-MAR-2016 17:43:15.40
Body SysBody 04-MAR-2016 17:44:03.43
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseDiCard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosnn $Menu 209 04-MAR-2016 17:42:55.25
Object Pointed $Menu 210 04-MAR-2016 17:42:55.25
Object SetAddress $MenuButton 211 04-MAR-2016 17:42:55.25
Body SysBody 04-MAR-2016 17:44:14.10
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseDiCard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosos $Menu 212 04-MAR-2016 17:42:55.25
Object Pointed $Menu 213 04-MAR-2016 17:42:55.25
Object SetAddress $MenuButton 214 04-MAR-2016 17:42:55.25
Body SysBody 04-MAR-2016 17:44:20.58
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseDiCard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosms $Menu 215 04-MAR-2016 17:42:55.25
Object Pointed $Menu 216 04-MAR-2016 17:42:55.25
Object SetAddress $MenuButton 217 04-MAR-2016 17:42:55.25
Body SysBody 04-MAR-2016 17:44:26.81
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseDiCard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosmn $Menu 218 04-MAR-2016 17:42:55.25
Object Pointed $Menu 219 04-MAR-2016 17:42:55.25
Object SetAddress $MenuButton 220 04-MAR-2016 17:42:55.25
Body SysBody 04-MAR-2016 17:44:31.16
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseDiCard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPoscn $Menu 221 04-MAR-2016 17:42:55.25
Object Pointed $Menu 222 04-MAR-2016 17:42:55.25
Object SetAddress $MenuButton 223 04-MAR-2016 17:42:55.25
Body SysBody 04-MAR-2016 17:44:35.80
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseDiCard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
EndObject
......@@ -743,7 +925,10 @@ Volume SsabOx $ClassVolume 0.0.250.5
! Do8 176034 4193308
! Do9 176040 4193312
!
! For VAX_ELN RegAddress is used for documentation only, and usually specified as an octal value.
! The value is filled in when the object is created, calculated
! from the current position of the object in the rack. If the
! positions is changed the address can be updated with the SetAddress
! method in the popup menu.
!*/
Object RegAddress $Attribute 7 06-OCT-2005 14:45:53.00
Body SysBody 01-JAN-1970 01:00:00.00
......@@ -753,11 +938,18 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndBody
EndObject
!/**
! Vector address. Used on VAX_ELN only, and only for documentation.
! Settings of the address switch on the board.
! The value is filled in when the object is created, calculated
! from the current position of the object in the rack. If the
! positions is changed the settings can be updated with the SetAddress
! method in the popup menu.
!
! The settings are presented with an integer value, and leading zeros
! are missing.
!*/
Object VectAddress $Attribute 8 06-OCT-2005 14:45:53.00
Body SysBody 01-JAN-1970 01:00:00.00
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 8 04-MAR-2016 13:17:20.80
Body SysBody 04-MAR-2016 13:17:21.79
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......@@ -914,8 +1106,8 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndObject
EndObject
Object PostCreate $DbCallBack 179 05-OCT-2010 16:19:07.83
Body SysBody 05-OCT-2010 16:19:07.83
Attr MethodName = "BaseIOCard-PostCreate"
Body SysBody 04-MAR-2016 17:48:59.70
Attr MethodName = "Ssab_BaseDoCard-PostCreate"
EndBody
EndObject
Object Template Ssab_BaseDoCard 2148761600 06-OCT-2005 14:45:53.00
......@@ -939,6 +1131,86 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
Object SetAddress $MenuButton 240 04-MAR-2016 17:45:57.05
Body SysBody 04-MAR-2016 17:46:34.66
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseDoCard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosnn $Menu 225 04-MAR-2016 17:45:36.32
Object Pointed $Menu 226 04-MAR-2016 17:45:36.32
Object SetAddress $MenuButton 227 04-MAR-2016 17:45:36.32
Body SysBody 04-MAR-2016 17:46:40.58
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseDoCard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosos $Menu 228 04-MAR-2016 17:45:36.32
Object Pointed $Menu 229 04-MAR-2016 17:45:36.32
Object SetAddress $MenuButton 230 04-MAR-2016 17:45:36.32
Body SysBody 04-MAR-2016 17:46:44.77
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseDoCard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosms $Menu 231 04-MAR-2016 17:45:36.32
Object Pointed $Menu 232 04-MAR-2016 17:45:36.32
Object SetAddress $MenuButton 233 04-MAR-2016 17:45:36.32
Body SysBody 04-MAR-2016 17:46:49.11
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseDoCard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosmn $Menu 234 04-MAR-2016 17:45:36.32
Object Pointed $Menu 235 04-MAR-2016 17:45:36.32
Object SetAddress $MenuButton 236 04-MAR-2016 17:46:54.52
Body SysBody 04-MAR-2016 17:46:59.15
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseDoCard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPoscn $Menu 237 04-MAR-2016 17:45:36.32
Object Pointed $Menu 238 04-MAR-2016 17:45:36.32
Object SetAddress $MenuButton 239 04-MAR-2016 17:45:36.32
Body SysBody 04-MAR-2016 17:47:08.39
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_BaseDoCard-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
EndObject
......@@ -1028,9 +1300,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object VectAddress $Attribute 8 30-JUN-2010 10:14:40.65
Body SysBody 30-JUN-2010 10:14:40.65
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 8 04-MAR-2016 13:17:37.97
Body SysBody 04-MAR-2016 13:17:38.90
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......@@ -4562,7 +4834,10 @@ Volume SsabOx $ClassVolume 0.0.250.5
! 3 176340 4193504
! 4 176360 4193520
!
! For VAX_ELN RegAddress is used for documentation only, and usually specified as an octal value.
! The value is filled in when the object is created, calculated
! from the current position of the object in the rack. If the
! positions is changed the address can be updated with the SetAddress
! method in the popup menu.
!*/
Object RegAddress $Attribute 20 06-OCT-2005 14:45:53.00
Body SysBody 01-JAN-1970 01:00:00.00
......@@ -4572,11 +4847,18 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndBody
EndObject
!/**
! Vector address. Used on VAX_ELN only, and only for documentation.
! Settings of the address switch on the board.
! The value is filled in when the object is created, calculated
! from the current position of the object in the rack. If the
! positions is changed the settings can be updated with the SetAddress
! method in the popup menu.
!
! The settings are presented with an integer value, and leading zeros
! are missing.
!*/
Object VectAddress $Attribute 21 06-OCT-2005 14:45:53.00
Body SysBody 01-JAN-1970 01:00:00.00
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 21 04-MAR-2016 13:18:29.15
Body SysBody 04-MAR-2016 13:18:30.23
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......@@ -4706,6 +4988,86 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
Object SetAddress $MenuButton 257 07-MAR-2016 08:40:59.30
Body SysBody 07-MAR-2016 08:55:53.02
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_CO4uP-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosnn $Menu 241 07-MAR-2016 08:41:17.22
Object Pointed $Menu 242 07-MAR-2016 08:38:43.02
Object SetAddress $MenuButton 243 07-MAR-2016 08:38:43.02
Body SysBody 07-MAR-2016 08:56:01.14
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_CO4uP-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosos $Menu 244 07-MAR-2016 08:41:18.62
Object Pointed $Menu 245 07-MAR-2016 08:38:43.02
Object SetAddress $MenuButton 246 07-MAR-2016 08:38:43.02
Body SysBody 07-MAR-2016 08:56:05.11
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_CO4uP-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosms $Menu 247 07-MAR-2016 08:41:19.63
Object Pointed $Menu 248 07-MAR-2016 08:38:43.02
Object SetAddress $MenuButton 249 07-MAR-2016 08:38:43.02
Body SysBody 07-MAR-2016 08:56:09.21
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_CO4uP-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPosmn $Menu 250 07-MAR-2016 08:41:20.63
Object Pointed $Menu 251 07-MAR-2016 08:38:43.02
Object SetAddress $MenuButton 252 07-MAR-2016 08:42:37.74
Body SysBody 07-MAR-2016 08:56:12.95
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_CO4uP-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object ConfiguratorPoscn $Menu 253 07-MAR-2016 08:41:22.15
Object Pointed $Menu 254 07-MAR-2016 08:38:43.02
Object SetAddress $MenuButton 255 07-MAR-2016 08:38:43.02
Body SysBody 07-MAR-2016 08:56:16.88
Attr ButtonName = "Set Address"
Attr MethodName = "Ssab_CO4uP-SetAddress"
Attr MethodArguments[0] = "ThreadObject"
Attr MethodArguments[1] = "PlcThread"
Attr FilterArguments[0] = "ThreadObject"
Attr FilterArguments[1] = "PlcThread"
EndBody
EndObject
EndObject
EndObject
Object IoMethods $RtMethod 30 06-OCT-2005 14:45:53.00
......@@ -4726,8 +5088,8 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndObject
EndObject
Object PostCreate $DbCallBack 181 05-OCT-2010 16:19:35.86
Body SysBody 05-OCT-2010 16:19:35.86
Attr MethodName = "BaseIOCard-PostCreate"
Body SysBody 07-MAR-2016 09:01:00.96
Attr MethodName = "Ssab_CO4uP-PostCreate"
EndBody
EndObject
EndObject
......@@ -5141,9 +5503,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object VectAddress $Attribute 8 30-DEC-2005 11:26:36.69
Body SysBody 30-DEC-2005 11:26:36.69
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 8 04-MAR-2016 13:18:49.23
Body SysBody 04-MAR-2016 13:18:50.91
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......@@ -5319,9 +5681,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object VectAddress $Attribute 10 30-DEC-2005 11:26:36.69
Body SysBody 30-DEC-2005 11:26:36.69
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 10 04-MAR-2016 13:19:00.98
Body SysBody 04-MAR-2016 13:19:01.89
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......@@ -5495,9 +5857,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object VectAddress $Attribute 10 30-DEC-2005 11:26:36.69
Body SysBody 30-DEC-2005 11:26:36.69
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 10 04-MAR-2016 13:19:11.74
Body SysBody 04-MAR-2016 13:19:12.75
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......@@ -5673,9 +6035,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object VectAddress $Attribute 10 30-DEC-2005 11:26:36.69
Body SysBody 30-DEC-2005 11:26:36.69
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 10 04-MAR-2016 13:19:31.64
Body SysBody 04-MAR-2016 13:19:33.47
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......@@ -5938,9 +6300,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object VectAddress $Attribute 20 30-DEC-2005 11:26:36.69
Body SysBody 30-DEC-2005 11:26:36.69
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 20 04-MAR-2016 13:19:48.48
Body SysBody 04-MAR-2016 13:19:49.34
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......@@ -6009,7 +6371,7 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndObject
EndObject
EndObject
Object IoMethods $RtMethod 104 30-DEC-2005 11:26:36.69
Object IoMethods $RtMethod 104 07-MAR-2016 08:38:49.23
Object IoCardInit $Method 105 30-DEC-2005 11:26:36.69
Body SysBody 30-DEC-2005 11:26:36.69
Attr MethodName = "Co_CO4uP-IoCardInit"
......@@ -6026,6 +6388,11 @@ Volume SsabOx $ClassVolume 0.0.250.5
EndBody
EndObject
EndObject
Object PostCreate $DbCallBack 256 07-MAR-2016 08:38:43.02
Body SysBody 07-MAR-2016 08:38:43.02
Attr MethodName = "Ssab_BaseACard-PostCreate"
EndBody
EndObject
Object Template Co_CO4uP 2152955904 01-JAN-1970 01:00:00.00
Body RtBody 30-DEC-2005 11:44:27.44
Attr ConvMask = 65535
......@@ -6224,9 +6591,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object VectAddress $Attribute 20 30-DEC-2005 11:26:36.69
Body SysBody 30-DEC-2005 11:26:36.69
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 20 04-MAR-2016 13:19:58.41
Body SysBody 04-MAR-2016 13:19:59.41
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......@@ -6433,9 +6800,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object VectAddress $Attribute 12 30-DEC-2005 11:26:36.69
Body SysBody 30-DEC-2005 11:26:36.69
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 12 04-MAR-2016 13:20:21.56
Body SysBody 04-MAR-2016 13:20:22.55
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......@@ -6657,9 +7024,9 @@ Volume SsabOx $ClassVolume 0.0.250.5
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object VectAddress $Attribute 16 30-DEC-2005 11:26:36.69
Body SysBody 30-DEC-2005 11:26:36.69
Attr PgmName = "VectAddress"
Object SwitchSettings $Attribute 16 04-MAR-2016 13:20:32.17
Body SysBody 04-MAR-2016 13:20:32.98
Attr PgmName = "SwitchSettings"
Attr Size = 4
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
......
......@@ -411,7 +411,7 @@ palette NavigatorPalette
class Ssab_AO8uP
class Ssab_AO8uPL
class Ssab_AO16uP_Logger
class Ssab_Co4uP
class Ssab_CO4uP
class Ssab_DI32D
class Ssab_DO32DKS
class Ssab_DO32DKS_Stall
......
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