Commit 44ef941a authored by Claes Sjofors's avatar Claes Sjofors

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

parents 1a14e5bb a74479d1
copy : $(doc_dir)/sv_se/orm/rt_plc_bcomp_c.html \
$(doc_dir)/en_us/orm/rt_plc_bcomp_c.html
$(doc_dir)/sv_se/orm/rt_plc_bcomp_c.html : ../../rt_plc_bcomp.c
@ echo "Generating html files for rt_plc_bcomp sv_se..."
@ $(co_convert) -c -d $(doc_dir)/sv_se/orm "$(source)"
$(doc_dir)/en_us/orm/rt_plc_bcomp_c.html : ../../rt_plc_bcomp.c
@ echo "Generating html files for rt_plc_bcomp en_us..."
@ $(co_convert) -c -d $(doc_dir)/en_us/orm "$(source)"
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
/*_* /*_*
RunTimeCounterFo RunTimeCounterFo
@aref runtimecounter
@aref runtimecounterfo RunTimeCounterFo @aref runtimecounterfo RunTimeCounterFo
*/ */
void RunTimeCounterFo_init( pwr_sClass_RunTimeCounterFo *o) void RunTimeCounterFo_init( pwr_sClass_RunTimeCounterFo *o)
...@@ -117,6 +118,7 @@ void RunTimeCounterFo_exec( plc_sThread *tp, ...@@ -117,6 +118,7 @@ void RunTimeCounterFo_exec( plc_sThread *tp,
/*_* /*_*
CompModePID_Fo CompModePID_Fo
@aref compmodepid
@aref compmodepid_fo CompModePID_Fo @aref compmodepid_fo CompModePID_Fo
*/ */
void CompModePID_Fo_init( pwr_sClass_CompModePID_Fo *o) void CompModePID_Fo_init( pwr_sClass_CompModePID_Fo *o)
...@@ -200,6 +202,7 @@ void CompModePID_Fo_exec( plc_sThread *tp, ...@@ -200,6 +202,7 @@ void CompModePID_Fo_exec( plc_sThread *tp,
Revision: 2011-01-18 / Werner Revision: 2011-01-18 / Werner
Error in filtered derivate part corrected. Error in filtered derivate part corrected.
@aref comppid
@aref comppid_fo CompPID_Fo @aref comppid_fo CompPID_Fo
*/ */
void CompPID_Fo_init( pwr_sClass_CompPID_Fo *o) void CompPID_Fo_init( pwr_sClass_CompPID_Fo *o)
...@@ -374,7 +377,8 @@ void CompPID_Fo_exec( plc_sThread *tp, ...@@ -374,7 +377,8 @@ void CompPID_Fo_exec( plc_sThread *tp,
/*_* /*_*
OnOffBurnerFo OnOffBurnerFo
@aref onoffburnerfo OnOffBurnerFo @aref componoffburner
@aref componoffburnerfo CompOnOffBurnerFo
*/ */
void CompOnOffBurnerFo_init( pwr_sClass_CompOnOffBurnerFo *o) void CompOnOffBurnerFo_init( pwr_sClass_CompOnOffBurnerFo *o)
{ {
...@@ -464,6 +468,7 @@ void CompOnOffBurnerFo_exec( plc_sThread *tp, ...@@ -464,6 +468,7 @@ void CompOnOffBurnerFo_exec( plc_sThread *tp,
/*_* /*_*
CompOnOffZoneFo CompOnOffZoneFo
@aref componoffzone
@aref componoffzonefo CompOnOffZoneFo @aref componoffzonefo CompOnOffZoneFo
*/ */
void CompOnOffZoneFo_init( pwr_sClass_CompOnOffZoneFo *o) void CompOnOffZoneFo_init( pwr_sClass_CompOnOffZoneFo *o)
......
...@@ -53280,13 +53280,14 @@ and no Auto/Man button." ...@@ -53280,13 +53280,14 @@ and no Auto/Man button."
EndObject EndObject
!/** !/**
! @Version 1.0 ! @Version 1.0
! @Code rt_plc_bcomp.c
! @Summary Plc function object to CompModePID. ! @Summary Plc function object to CompModePID.
! Plc function object to CompModePID. ! Plc function object to CompModePID.
! !
! @image orm_compmodepid_fo_fo.gif ! @image orm_compmodepid_fo_fo.gif
! !
! Connect the function object to an object of class or subclass of ! Connect the function object to an object of class or subclass of
! CompModePID_Fo. ! CompModePID.
! !
! @b See also ! @b See also
! @classlink CompModePID basecomponent_compmodepid.html ! @classlink CompModePID basecomponent_compmodepid.html
...@@ -54128,13 +54129,14 @@ and no Auto/Man button." ...@@ -54128,13 +54129,14 @@ and no Auto/Man button."
EndObject EndObject
!/** !/**
! @Version 1.0 ! @Version 1.0
! @Code rt_plc_bcomp.c
! @Summary Plc function object to CompPID. ! @Summary Plc function object to CompPID.
! Plc function object to CompPID. ! Plc function object to CompPID.
! !
! @image orm_comppid_fo_fo.gif ! @image orm_comppid_fo_fo.gif
! !
! Connect the function object to an object of class or subclass of ! Connect the function object to an object of class or subclass of
! CompPID_Fo. ! CompPID.
! !
! @b See also ! @b See also
! @classlink CompPID basecomponent_comppid.html ! @classlink CompPID basecomponent_comppid.html
...@@ -111782,6 +111784,7 @@ Safety switch" ...@@ -111782,6 +111784,7 @@ Safety switch"
EndObject EndObject
!/** !/**
! @Version 1.0 ! @Version 1.0
! @Code rt_plc_bcomp.c
! @Summary Count the run time of a component. ! @Summary Count the run time of a component.
! Count the run time of a component. ! Count the run time of a component.
! !
...@@ -112030,6 +112033,7 @@ Safety switch" ...@@ -112030,6 +112033,7 @@ Safety switch"
EndObject EndObject
!/** !/**
! @Version 1.0 ! @Version 1.0
! @Code rt_plc_bcomp.c
! @Summary Plc function object to RunTimeCounter. ! @Summary Plc function object to RunTimeCounter.
! Plc function object to RunTimeCounter. ! Plc function object to RunTimeCounter.
! !
...@@ -173634,6 +173638,7 @@ OA2 = A4 + (OA1 - 5) / 90 * (A3 - A4);" ...@@ -173634,6 +173638,7 @@ OA2 = A4 + (OA1 - 5) / 90 * (A3 - A4);"
!/** !/**
! @Version 1.0 ! @Version 1.0
! @Group Plc ! @Group Plc
! @Code rt_plc_bcomp.c
! @Summary Burner on/off sequence control, burner unit. ! @Summary Burner on/off sequence control, burner unit.
! Burner on/off sequence control, burner unit. ! Burner on/off sequence control, burner unit.
! !
...@@ -173935,6 +173940,7 @@ OA2 = A4 + (OA1 - 5) / 90 * (A3 - A4);" ...@@ -173935,6 +173940,7 @@ OA2 = A4 + (OA1 - 5) / 90 * (A3 - A4);"
!/** !/**
! @Version 1.0 ! @Version 1.0
! @Group Plc ! @Group Plc
! @Code rt_plc_bcomp.c
! @Summary Burner on/off sequence control, zone unit. ! @Summary Burner on/off sequence control, zone unit.
! Burner on/off sequence control, zone unit. ! Burner on/off sequence control, zone unit.
! !
This diff is collapsed.
include $(pwre_dir_symbols)
-include $(pwre_kroot)/tools/bld/src/$(os_name)/$(hw_name)/$(type_name)_generic.mk
ifeq ($($(type_name)_generic_mk),)
-include $(pwre_kroot)/tools/bld/src/$(os_name)/$(type_name)_generic.mk
endif
ifeq ($($(type_name)_generic_mk),)
include $(pwre_kroot)/tools/bld/src/$(type_name)_generic.mk
endif
-include ../../special.mk
-include ../special.mk
-include special.mk
copy : $(doc_dir)/sv_se/orm/misc_plc_c.html \
$(doc_dir)/en_us/orm/misc_plc_c.html
$(doc_dir)/sv_se/orm/misc_plc_c.html : ../../misc_plc.c
@ echo "Generating html files for misc_plc sv_se..."
@ $(co_convert) -c -d $(doc_dir)/sv_se/orm "$(source)"
$(doc_dir)/en_us/orm/misc_plc_c.html : ../../misc_plc.c
@ echo "Generating html files for misc_plc en_us..."
@ $(co_convert) -c -d $(doc_dir)/en_us/orm "$(source)"
This diff is collapsed.
include $(pwre_dir_symbols)
-include $(pwre_kroot)/tools/bld/src/$(os_name)/$(hw_name)/$(type_name)_generic.mk
ifeq ($($(type_name)_generic_mk),)
-include $(pwre_kroot)/tools/bld/src/$(os_name)/$(type_name)_generic.mk
endif
ifeq ($($(type_name)_generic_mk),)
include $(pwre_kroot)/tools/bld/src/$(type_name)_generic.mk
endif
-include ../../special.mk
-include ../special.mk
-include special.mk
This diff is collapsed.
This diff is collapsed.
include $(pwre_dir_symbols)
-include $(pwre_kroot)/tools/bld/src/$(os_name)/$(hw_name)/$(type_name)_generic.mk
ifeq ($($(type_name)_generic_mk),)
-include $(pwre_kroot)/tools/bld/src/$(os_name)/$(type_name)_generic.mk
endif
ifeq ($($(type_name)_generic_mk),)
include $(pwre_kroot)/tools/bld/src/$(type_name)_generic.mk
endif
-include ../../special.mk
-include ../special.mk
-include special.mk
/*
* Proview $Id$
* Copyright (C) 2005 SSAB Oxelösund AB.
*
* 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 the program, if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**/
#ifndef rt_io_hilscher_cifx_h
#define rt_io_hilscher_cifx_h
typedef struct { typedef struct {
unsigned long channel; unsigned long channel;
...@@ -9,6 +29,7 @@ typedef struct { ...@@ -9,6 +29,7 @@ typedef struct {
unsigned int dev_init; unsigned int dev_init;
unsigned int dev_init_cnt; unsigned int dev_init_cnt;
unsigned int dev_init_limit; unsigned int dev_init_limit;
int softlimit_logged;
int input_area_size; int input_area_size;
int output_area_size; int output_area_size;
void *input_area; void *input_area;
...@@ -20,3 +41,20 @@ typedef struct { ...@@ -20,3 +41,20 @@ typedef struct {
int float_representation; int float_representation;
} io_sLocalHilscher_cifX_Device; } io_sLocalHilscher_cifX_Device;
typedef struct {
unsigned long channel;
unsigned long board;
CIFXHANDLE chan;
unsigned int diag_cnt;
unsigned int diag_interval;
unsigned int dev_init;
unsigned int dev_init_cnt;
unsigned int dev_init_limit;
int softlimit_logged;
int input_area_size;
int output_area_size;
void *input_area;
void *output_area;
} io_sLocalHilscher_cifX_PnController;
#endif
...@@ -322,8 +322,10 @@ static pwr_tStatus IoAgentRead( io_tCtx ctx, io_sAgent *ap) ...@@ -322,8 +322,10 @@ static pwr_tStatus IoAgentRead( io_tCtx ctx, io_sAgent *ap)
op->ErrorCount++; op->ErrorCount++;
} }
if ( op->ErrorCount == op->ErrorSoftLimit) if ( op->ErrorCount == op->ErrorSoftLimit && !local->softlimit_logged) {
errh_Error( "IO Error soft limit reached on agent '%s'", ap->Name); errh_Error( "IO Error soft limit reached on agent '%s'", ap->Name);
local->softlimit_logged = 1;
}
if ( op->ErrorCount >= op->ErrorHardLimit) { if ( op->ErrorCount >= op->ErrorHardLimit) {
ctx->Node->EmergBreakTrue = 1; ctx->Node->EmergBreakTrue = 1;
return IO__ERRDEVICE; return IO__ERRDEVICE;
...@@ -360,8 +362,10 @@ static pwr_tStatus IoAgentWrite( io_tCtx ctx, io_sAgent *ap) ...@@ -360,8 +362,10 @@ static pwr_tStatus IoAgentWrite( io_tCtx ctx, io_sAgent *ap)
xDriverGetErrorDescription( sts, op->ErrorStr, sizeof(op->ErrorStr)); xDriverGetErrorDescription( sts, op->ErrorStr, sizeof(op->ErrorStr));
} }
if ( op->ErrorCount == op->ErrorSoftLimit) if ( op->ErrorCount == op->ErrorSoftLimit && !local->softlimit_logged) {
errh_Error( "IO Error soft limit reached on agent '%s'", ap->Name); errh_Error( "IO Error soft limit reached on agent '%s'", ap->Name);
local->softlimit_logged = 1;
}
if ( op->ErrorCount >= op->ErrorHardLimit) { if ( op->ErrorCount >= op->ErrorHardLimit) {
ctx->Node->EmergBreakTrue = 1; ctx->Node->EmergBreakTrue = 1;
return IO__ERRDEVICE; return IO__ERRDEVICE;
......
...@@ -12,6 +12,7 @@ GPIO_Module ...@@ -12,6 +12,7 @@ GPIO_Module
Maxim_DS18B20 Maxim_DS18B20
USB_Agent USB_Agent
Velleman_K8055_Board Velleman_K8055_Board
Hilscher_cifX_PnController
Hilscher_cifX_Master Hilscher_cifX_Master
Hilscher_cifX_Module Hilscher_cifX_Module
USB_Joystick USB_Joystick
......
Volume OtherIO $ClassVolume 0.0.250.10 Volume OtherIO $ClassVolume 0.0.250.10
Body SysBody 01-JAN-1970 01:00:00.00 Body SysBody 01-JAN-1970 01:00:00.00
Attr NextOix = "_X233" Attr NextOix = "_X242"
Attr NextCix = "_X24" Attr NextCix = "_X25"
Attr NextTix[0] = "_X10" Attr NextTix[0] = "_X10"
EndBody EndBody
Object Type $TypeHier 1 15-NOV-2007 14:35:37.90 Object Type $TypeHier 1 15-NOV-2007 14:35:37.90
...@@ -2904,6 +2904,176 @@ Volume OtherIO $ClassVolume 0.0.250.10 ...@@ -2904,6 +2904,176 @@ Volume OtherIO $ClassVolume 0.0.250.10
EndBody EndBody
EndObject EndObject
EndObject EndObject
Object Hilscher_cifX_PnController $ClassDef 24 23-MAY-2011 11:01:53.65
Body SysBody 23-MAY-2011 11:01:37.07
Attr Editor = 0
Attr Method = 0
Attr Flags = 38992
EndBody
Object RtBody $ObjBodyDef 1 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:02:08.50
Attr StructName = "Hilscher_cifX_PnController"
Attr NextAix = "_X31"
EndBody
Object Description $Attribute 14 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "Description"
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
Object Specification $Attribute 15 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "Specification"
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
Object DataSheet $Attribute 16 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "DataSheet"
Attr TypeRef = "pwrs:Type-$URL"
EndBody
EndObject
Object IP_Address $Attribute 27 24-MAY-2011 08:21:37.53
Body SysBody 24-MAY-2011 08:21:12.63
Attr PgmName = "IP_Address"
Attr TypeRef = "pwrs:Type-$String32"
EndBody
EndObject
Object SubnetMask $Attribute 28 24-MAY-2011 08:21:57.03
Body SysBody 24-MAY-2011 08:23:57.17
Attr PgmName = "SubnetMask"
Attr TypeRef = "pwrs:Type-$String40"
EndBody
EndObject
Object DeviceName $Attribute 29 24-MAY-2011 08:22:20.62
Body SysBody 24-MAY-2011 08:24:00.64
Attr PgmName = "DeviceName"
Attr TypeRef = "pwrs:Type-$String40"
EndBody
EndObject
Object DeviceType $Attribute 30 24-MAY-2011 08:22:25.89
Body SysBody 24-MAY-2011 08:24:03.36
Attr PgmName = "DeviceType"
Attr TypeRef = "pwrs:Type-$String40"
EndBody
EndObject
Object Alias $Attribute 17 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "Alias"
Attr TypeRef = "pwrs:Type-$String40"
EndBody
EndObject
Object Channel $Attribute 18 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "Channel"
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object Status $Attribute 19 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "Status"
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object Process $Attribute 20 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "Process"
Attr TypeRef = "pwrb:Type-IoProcessMask"
EndBody
EndObject
Object ThreadObject $Attribute 21 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "ThreadObject"
Attr TypeRef = "pwrs:Type-$Objid"
EndBody
EndObject
Object ErrorCount $Attribute 22 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "ErrorCount"
Attr Flags = 1040
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object ErrorStr $Attribute 23 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "ErrorStr"
Attr TypeRef = "pwrs:Type-$String80"
EndBody
EndObject
Object ErrorSoftLimit $Attribute 24 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "ErrorSoftLimit"
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object ErrorHardLimit $Attribute 25 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "ErrorHardLimit"
Attr TypeRef = "pwrs:Type-$UInt32"
EndBody
EndObject
Object Diag $Attribute 26 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr PgmName = "Diag"
Attr Flags = 131072
Attr TypeRef = "OtherIO:Class-Hilscher_cifX_Diag"
EndBody
EndObject
EndObject
Object IoMethods $RtMethod 234 23-MAY-2011 11:01:37.07
Object IoAgentInit $Method 235 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:02:25.93
Attr MethodName = "Hilscher_cifX_PnController-IoAgentInit"
EndBody
EndObject
Object IoAgentClose $Method 236 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:02:36.54
Attr MethodName = "Hilscher_cifX_PnController-IoAgentClose"
EndBody
EndObject
Object IoAgentRead $Method 237 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:02:43.74
Attr MethodName = "Hilscher_cifX_PnController-IoAgentRead"
EndBody
EndObject
Object IoAgentWrite $Method 238 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:02:50.73
Attr MethodName = "Hilscher_cifX_PnController-IoAgentWrite"
EndBody
EndObject
EndObject
Object ConfiguratorPoson $Menu 239 23-MAY-2011 11:01:37.07
Object Pointed $Menu 240 23-MAY-2011 11:01:37.07
Object Connect $MenuButton 241 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
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 PostCreate $DbCallBack 242 23-MAY-2011 11:01:37.07
Body SysBody 23-MAY-2011 11:01:37.07
Attr MethodName = "BaseIORack-PostCreate"
EndBody
EndObject
Object Template Hilscher_cifX_PnController 2154004480 01-JAN-1970 01:00:00.00
Body RtBody 24-MAY-2011 08:26:34.69
Attr IP_Address = "10.0.0.1"
Attr SubnetMask = "255.255.255.0"
Attr DeviceName = "controller"
Attr DeviceType = "cifX RE/PNM"
Attr Process = 1
Attr ErrorSoftLimit = 25
Attr ErrorHardLimit = 50
EndBody
EndObject
EndObject
Object Hilscher_cifX_Master $ClassDef 17 23-FEB-2011 15:22:46.32 Object Hilscher_cifX_Master $ClassDef 17 23-FEB-2011 15:22:46.32
Body SysBody 23-FEB-2011 14:03:13.10 Body SysBody 23-FEB-2011 14:03:13.10
Attr Editor = 0 Attr Editor = 0
......
...@@ -706,7 +706,7 @@ short DevExitBoard( unsigned short usDevNumber) ...@@ -706,7 +706,7 @@ short DevExitBoard( unsigned short usDevNumber)
{ {
DEVIO_EXITCMD tBuffer; DEVIO_EXITCMD tBuffer;
unsigned int lBytesReturned; unsigned int lBytesReturned;
unsigned short usDrvOpenCount; unsigned short usDrvOpenCount = 0;
short sRet = DRV_NO_ERROR; short sRet = DRV_NO_ERROR;
if( hDevDrv == INVALID_HANDLE_VALUE) { if( hDevDrv == INVALID_HANDLE_VALUE) {
...@@ -1798,7 +1798,7 @@ short RunFirmwareDownload( unsigned short usDevNumber, ...@@ -1798,7 +1798,7 @@ short RunFirmwareDownload( unsigned short usDevNumber,
tSendMsg.rx = RCS_TASK; tSendMsg.rx = RCS_TASK;
tSendMsg.tx = MSG_SYSTEM_TX; tSendMsg.tx = MSG_SYSTEM_TX;
tSendMsg.ln = (unsigned char)lSendLen; tSendMsg.ln = (unsigned char)lSendLen;
tSendMsg.nr = ++tSendMsg.nr; tSendMsg.nr++; // tSendMsg.nr = ++tSendMsg.nr;
tSendMsg.a = 0; tSendMsg.a = 0;
tSendMsg.f = 0; tSendMsg.f = 0;
tSendMsg.b = RCS_B_LOADFKT; tSendMsg.b = RCS_B_LOADFKT;
...@@ -1838,7 +1838,7 @@ short RunFirmwareDownload( unsigned short usDevNumber, ...@@ -1838,7 +1838,7 @@ short RunFirmwareDownload( unsigned short usDevNumber,
case RCS_CONT_MSK: case RCS_CONT_MSK:
tSendMsg.e = RCS_CONT_MSK; tSendMsg.e = RCS_CONT_MSK;
tSendMsg.ln = (unsigned char)lSendLen; tSendMsg.ln = (unsigned char)lSendLen;
tSendMsg.nr = ++tSendMsg.nr; tSendMsg.nr++; // tSendMsg.nr = ++tSendMsg.nr;
// Send next message // Send next message
memcpy ( &tSendMsg.data[0], &pabData[lActIdx], lSendLen); memcpy ( &tSendMsg.data[0], &pabData[lActIdx], lSendLen);
...@@ -1871,7 +1871,7 @@ short RunFirmwareDownload( unsigned short usDevNumber, ...@@ -1871,7 +1871,7 @@ short RunFirmwareDownload( unsigned short usDevNumber,
case RCS_LAST_MSK: case RCS_LAST_MSK:
tSendMsg.ln = (unsigned char)lSendLen; tSendMsg.ln = (unsigned char)lSendLen;
tSendMsg.nr = ++tSendMsg.nr; tSendMsg.nr++; // tSendMsg.nr = ++tSendMsg.nr;
tSendMsg.e = RCS_LAST_MSK; tSendMsg.e = RCS_LAST_MSK;
memcpy ( &tSendMsg.data[0], &pabData[lActIdx] , lSendLen); memcpy ( &tSendMsg.data[0], &pabData[lActIdx] , lSendLen);
...@@ -1994,7 +1994,7 @@ short RunConfigDownload( unsigned short usDevNumber, ...@@ -1994,7 +1994,7 @@ short RunConfigDownload( unsigned short usDevNumber,
tSendMsg.rx = RCS_TASK; tSendMsg.rx = RCS_TASK;
tSendMsg.tx = MSG_SYSTEM_TX; tSendMsg.tx = MSG_SYSTEM_TX;
tSendMsg.ln = (unsigned char)lSendLen; tSendMsg.ln = (unsigned char)lSendLen;
tSendMsg.nr = ++tSendMsg.nr; tSendMsg.nr++; // tSendMsg.nr = ++tSendMsg.nr;
tSendMsg.a = 0; tSendMsg.a = 0;
tSendMsg.f = 0; tSendMsg.f = 0;
tSendMsg.b = RCS_B_LOADFKT; tSendMsg.b = RCS_B_LOADFKT;
...@@ -2031,7 +2031,7 @@ short RunConfigDownload( unsigned short usDevNumber, ...@@ -2031,7 +2031,7 @@ short RunConfigDownload( unsigned short usDevNumber,
tSendMsg.rx = RCS_TASK; tSendMsg.rx = RCS_TASK;
tSendMsg.tx = MSG_SYSTEM_TX; tSendMsg.tx = MSG_SYSTEM_TX;
tSendMsg.ln = (unsigned char)lSendLen; tSendMsg.ln = (unsigned char)lSendLen;
tSendMsg.nr = ++tSendMsg.nr; tSendMsg.nr++; // tSendMsg.nr = ++tSendMsg.nr;
tSendMsg.a = 0; tSendMsg.a = 0;
tSendMsg.f = 0; tSendMsg.f = 0;
tSendMsg.b = RCS_B_LOADFKT; tSendMsg.b = RCS_B_LOADFKT;
......
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
#include "rt_pnak.h" #include "rt_pnak.h"
#include "co_dcli.h" #include "co_dcli.h"
#include "rt_pn_gsdml_data.h" #include "rt_pn_gsdml_data.h"
#include "rt_io_pnak_locals.h"
#include "rt_io_pn_locals.h" #include "rt_io_pn_locals.h"
#include "rt_pn_iface.h" #include "rt_pn_iface.h"
...@@ -86,7 +87,7 @@ static pwr_tStatus IoAgentInit ( ...@@ -86,7 +87,7 @@ static pwr_tStatus IoAgentInit (
pwr_sClass_PnControllerSoftingPNAK *op; pwr_sClass_PnControllerSoftingPNAK *op;
pwr_tUInt16 sts; pwr_tUInt16 sts;
io_sAgentLocal *local; io_sAgentLocal *local;
io_sRackLocal *r_local; io_sPnRackLocal *r_local;
char fname[196]; char fname[196];
char hname[40]; char hname[40];
...@@ -281,8 +282,8 @@ static pwr_tStatus IoAgentInit ( ...@@ -281,8 +282,8 @@ static pwr_tStatus IoAgentInit (
for (slave_list = ap->racklist, ii = 0; slave_list != NULL; for (slave_list = ap->racklist, ii = 0; slave_list != NULL;
slave_list = slave_list->next, ii++) { slave_list = slave_list->next, ii++) {
slave_list->Local = (unsigned char *) calloc(1, sizeof(io_sRackLocal)); slave_list->Local = (unsigned char *) calloc(1, sizeof(io_sPnRackLocal));
r_local = (io_sRackLocal *) slave_list->Local; r_local = (io_sPnRackLocal *) slave_list->Local;
for (jj = 0; jj < local->device_data[ii + 1]->iocr_data.size(); jj++) { for (jj = 0; jj < local->device_data[ii + 1]->iocr_data.size(); jj++) {
......
...@@ -36,10 +36,11 @@ ...@@ -36,10 +36,11 @@
#include "rt_errh.h" #include "rt_errh.h"
#include "rt_pb_msg.h" #include "rt_pb_msg.h"
#include "rt_profinet.h" //#include "rt_profinet.h"
#include "rt_pnak.h" //#include "rt_pnak.h"
#include "co_dcli.h" #include "co_dcli.h"
#include "rt_pn_gsdml_data.h" #include "rt_pn_gsdml_data.h"
//#include "rt_io_pnak_locals.h"
#include "rt_io_pn_locals.h" #include "rt_io_pn_locals.h"
...@@ -53,7 +54,7 @@ static pwr_tStatus IoRackInit ( ...@@ -53,7 +54,7 @@ static pwr_tStatus IoRackInit (
io_sRack *rp io_sRack *rp
) )
{ {
io_sCardLocal *local_card; io_sPnCardLocal *local_card;
io_sCard *cardp; io_sCard *cardp;
short input_counter; short input_counter;
short output_counter; short output_counter;
...@@ -89,10 +90,10 @@ static pwr_tStatus IoRackInit ( ...@@ -89,10 +90,10 @@ static pwr_tStatus IoRackInit (
latent_output_count = 0; latent_output_count = 0;
while(cardp) { while(cardp) {
local_card = (io_sCardLocal *) calloc(1, sizeof(*local_card)); local_card = (io_sPnCardLocal *) calloc(1, sizeof(*local_card));
cardp->Local = local_card; cardp->Local = local_card;
local_card->input_area = ((io_sRackLocal *)(rp->Local))->inputs; local_card->input_area = ((io_sPnRackLocal *)(rp->Local))->inputs;
local_card->output_area = ((io_sRackLocal *)(rp->Local))->outputs; local_card->output_area = ((io_sPnRackLocal *)(rp->Local))->outputs;
/* From v4.1.3 we can have subclasses, find the super class */ /* From v4.1.3 we can have subclasses, find the super class */
...@@ -230,11 +231,9 @@ static pwr_tStatus IoRackRead ( ...@@ -230,11 +231,9 @@ static pwr_tStatus IoRackRead (
io_sRack *rp io_sRack *rp
) )
{ {
pwr_sClass_PnControllerSoftingPNAK *mp;
pwr_sClass_PnDevice *sp; pwr_sClass_PnDevice *sp;
sp = (pwr_sClass_PnDevice *) rp->op; sp = (pwr_sClass_PnDevice *) rp->op;
mp = (pwr_sClass_PnControllerSoftingPNAK *) ap->op;
/* The reading of the process image is now performed at the agent level, /* The reading of the process image is now performed at the agent level,
this eliminates the need for board specific code at the rack level. */ this eliminates the need for board specific code at the rack level. */
...@@ -247,7 +246,7 @@ static pwr_tStatus IoRackRead ( ...@@ -247,7 +246,7 @@ static pwr_tStatus IoRackRead (
} }
if (sp->ErrorCount > sp->ErrorSoftLimit ) { if (sp->ErrorCount > sp->ErrorSoftLimit ) {
memset(((io_sRackLocal *)(rp->Local))->inputs, 0, ((io_sRackLocal *)(rp->Local))->bytes_of_input); memset(((io_sPnRackLocal *)(rp->Local))->inputs, 0, ((io_sPnRackLocal *)(rp->Local))->bytes_of_input);
} }
// if (sp->ErrorCount > sp->ErrorHardLimit && sp->StallAction >= pwr_ePbStallAction_EmergencyBreak) { // if (sp->ErrorCount > sp->ErrorHardLimit && sp->StallAction >= pwr_ePbStallAction_EmergencyBreak) {
...@@ -267,11 +266,9 @@ static pwr_tStatus IoRackWrite ( ...@@ -267,11 +266,9 @@ static pwr_tStatus IoRackWrite (
io_sRack *rp io_sRack *rp
) )
{ {
pwr_sClass_PnControllerSoftingPNAK *mp;
pwr_sClass_PnDevice *sp; pwr_sClass_PnDevice *sp;
sp = (pwr_sClass_PnDevice *) rp->op; sp = (pwr_sClass_PnDevice *) rp->op;
mp = (pwr_sClass_PnControllerSoftingPNAK *) ap->op;
/* The writing of the process image is now performed at the agent level, /* The writing of the process image is now performed at the agent level,
this eliminates the need for board specific code at the rack level. */ this eliminates the need for board specific code at the rack level. */
......
...@@ -52,11 +52,11 @@ static pwr_tStatus IoCardInit ( ...@@ -52,11 +52,11 @@ static pwr_tStatus IoCardInit (
io_sCard *cp io_sCard *cp
) )
{ {
io_sCardLocal *local; io_sPnCardLocal *local;
pwr_sClass_PnModule *op; pwr_sClass_PnModule *op;
op = (pwr_sClass_PnModule *) cp->op; op = (pwr_sClass_PnModule *) cp->op;
local = (io_sCardLocal *) cp->Local; local = (io_sPnCardLocal *) cp->Local;
op->Status = PB__NORMAL; op->Status = PB__NORMAL;
...@@ -74,12 +74,12 @@ static pwr_tStatus IoCardRead ( ...@@ -74,12 +74,12 @@ static pwr_tStatus IoCardRead (
io_sCard *cp io_sCard *cp
) )
{ {
io_sCardLocal *local; io_sPnCardLocal *local;
pwr_sClass_PnModule *op; pwr_sClass_PnModule *op;
pwr_sClass_PnDevice *slave; pwr_sClass_PnDevice *slave;
op = (pwr_sClass_PnModule *) cp->op; op = (pwr_sClass_PnModule *) cp->op;
local = (io_sCardLocal *) cp->Local; local = (io_sPnCardLocal *) cp->Local;
slave = (pwr_sClass_PnDevice *) rp->op; slave = (pwr_sClass_PnDevice *) rp->op;
op->Status = slave->Status; op->Status = slave->Status;
...@@ -105,12 +105,12 @@ static pwr_tStatus IoCardWrite ( ...@@ -105,12 +105,12 @@ static pwr_tStatus IoCardWrite (
io_sCard *cp io_sCard *cp
) )
{ {
io_sCardLocal *local; io_sPnCardLocal *local;
pwr_sClass_PnModule *op; pwr_sClass_PnModule *op;
pwr_sClass_PnDevice *slave; pwr_sClass_PnDevice *slave;
op = (pwr_sClass_PnModule *) cp->op; op = (pwr_sClass_PnModule *) cp->op;
local = (io_sCardLocal *) cp->Local; local = (io_sPnCardLocal *) cp->Local;
slave = (pwr_sClass_PnDevice *) rp->op; slave = (pwr_sClass_PnDevice *) rp->op;
op->Status = slave->Status; op->Status = slave->Status;
...@@ -134,8 +134,8 @@ static pwr_tStatus IoCardClose ( ...@@ -134,8 +134,8 @@ static pwr_tStatus IoCardClose (
io_sCard *cp io_sCard *cp
) )
{ {
io_sCardLocal *local; io_sPnCardLocal *local;
local = (io_sCardLocal *) cp->Local; local = (io_sPnCardLocal *) cp->Local;
free ((char *) local); free ((char *) local);
......
...@@ -20,160 +20,20 @@ ...@@ -20,160 +20,20 @@
#ifndef rt_io_pn_locals_h #ifndef rt_io_pn_locals_h
#define rt_io_pn_locals_h #define rt_io_pn_locals_h
#include "rt_profinet.h"
#include "rt_pnak.h"
/* rt_io_pn_locals.h -- Profinet io handling locals. */ /* rt_io_pn_locals.h -- Profinet io handling locals. */
typedef struct _PN_Alarm_Data { typedef struct _io_sPnRackLocal {
unsigned short alarm_type; unsigned short bytes_of_input;
unsigned short alarm_prio; unsigned short bytes_of_output;
unsigned short rem_alarms; unsigned char *inputs;
unsigned int slot_number; unsigned char *outputs;
unsigned int sub_slot_number; } io_sPnRackLocal;
unsigned int module_ident_number;
unsigned int submodule_ident_number;
unsigned short alarm_spec;
unsigned short data_length;
unsigned char *data;
} PN_Alarm_Data;
class PnIOCRData {
public:
PnIOCRData() : type(0), number_modules(0), identifier(0), io_data_length(0) {}
unsigned short type;
unsigned short number_modules;
unsigned short identifier;
unsigned short io_data_length; // bytes of io-data including status;
unsigned short clean_io_data_length; // bytes of io-data including status;
unsigned char *io_data;
unsigned char *clean_io_data;
~PnIOCRData() {}
int print( ofstream& fp);
};
class PnSubmoduleData {
public:
PnSubmoduleData() : subslot_number(0), subslot_idx(0), type(0), state(0), ident_number(0), phys_ident_number(0) {}
unsigned short subslot_number;
unsigned short subslot_idx;
unsigned short type;
unsigned short state;
unsigned int ident_number;
unsigned int phys_ident_number;
unsigned short io_in_data_length; // bytes of pure io-data
unsigned short offset_io_in; // offset in io-data area for this iocr
unsigned short offset_clean_io_in; // offset in io-data area for this iocr
unsigned short offset_status_in; // offset in io-data area for this iocr
unsigned short io_out_data_length; // bytes of pure io-data
unsigned short offset_io_out; // offset in io-data area for this iocr
unsigned short offset_clean_io_out; // offset in io-data area for this iocr
unsigned short offset_status_out; // offset in io-data area for this iocr
~PnSubmoduleData() {}
int print( ofstream& fp);
};
class PnModuleData {
public:
PnModuleData() : slot_number(0), slot_idx(0), state(0), ident_number(0), phys_ident_number(0) {}
unsigned int slot_number;
unsigned int slot_idx;
unsigned short state;
unsigned int ident_number;
unsigned int phys_ident_number;
vector<PnSubmoduleData *> submodule_data;
~PnModuleData() {
for ( unsigned int i = 0; i < submodule_data.size(); i++)
delete submodule_data[i];
}
int print( ofstream& fp);
};
class PnDeviceData {
public:
PnDeviceData() : device_ref(0), alarm_ref(0), device_state(0), no_diff_modules(0) {memset(&alarm_data, 0, sizeof(PN_Alarm_Data));}
unsigned short device_ref;
unsigned short alarm_ref;
unsigned short device_state;
unsigned short no_diff_modules;
PN_Alarm_Data alarm_data;
vector<PnModuleData *> module_data;
vector<PnIOCRData *> iocr_data;
~PnDeviceData() { device_reset();}
void device_reset() {
for ( unsigned int i = 0; i < module_data.size(); i++)
delete module_data[i];
module_data.clear();
for ( unsigned int i = 0; i < iocr_data.size(); i++)
delete iocr_data[i];
iocr_data.clear();
}
int copy_slot( unsigned int slot_idx);
int cut_slot( unsigned int slot_idx);
int paste_slot( unsigned int slot_idx);
};
class PnDeviceInfo {
public:
PnDeviceInfo() {}
unsigned char ipaddress[4];
unsigned char macaddress[6];
unsigned char subnetmask[4];
char devname[80];
int vendorid;
int deviceid;
};
typedef struct _agent_args {
void *local;
io_sAgent *ap;
} agent_args;
class io_sAgentLocal {
public :
io_sAgentLocal() {}
T_PNAK_SERVICE_REQ_RES service_req_res;
T_PNAK_SERVICE_CON service_con;
unsigned char ipaddress[4];
unsigned char macaddress[6];
unsigned char subnetmask[4];
vector<PnDeviceData *> device_data;
vector<PnDeviceInfo *> dev_info;
pthread_t handle_events;
agent_args args;
};
typedef struct _io_sRackLocal {
unsigned short bytes_of_input;
unsigned short bytes_of_output;
unsigned char *inputs;
unsigned char *outputs;
} io_sRackLocal;
typedef struct _io_sCardLocal { typedef struct _io_sPnCardLocal {
unsigned int input_area_size;
unsigned int output_area_size;
unsigned char *input_area; unsigned char *input_area;
unsigned char *output_area; unsigned char *output_area;
} io_sCardLocal; } io_sPnCardLocal;
#endif #endif
/*
* Proview $Id$
* Copyright (C) 2005 SSAB Oxelsund AB.
*
* 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 the program, if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**/
#ifndef rt_io_pnak_locals_h
#define rt_io_pnak_locals_h
#include "rt_profinet.h"
#include "rt_pnak.h"
/* rt_io_pnak_locals.h -- Profinet io handling locals. */
typedef struct _PN_Alarm_Data {
unsigned short alarm_type;
unsigned short alarm_prio;
unsigned short rem_alarms;
unsigned int slot_number;
unsigned int sub_slot_number;
unsigned int module_ident_number;
unsigned int submodule_ident_number;
unsigned short alarm_spec;
unsigned short data_length;
unsigned char *data;
} PN_Alarm_Data;
class PnIOCRData {
public:
PnIOCRData() : type(0), number_modules(0), identifier(0), io_data_length(0) {}
unsigned short type;
unsigned short number_modules;
unsigned short identifier;
unsigned short io_data_length; // bytes of io-data including status;
unsigned short clean_io_data_length; // bytes of io-data including status;
unsigned char *io_data;
unsigned char *clean_io_data;
~PnIOCRData() {}
int print( ofstream& fp);
};
class PnSubmoduleData {
public:
PnSubmoduleData() : subslot_number(0), subslot_idx(0), type(0), state(0), ident_number(0), phys_ident_number(0) {}
unsigned short subslot_number;
unsigned short subslot_idx;
unsigned short type;
unsigned short state;
unsigned int ident_number;
unsigned int phys_ident_number;
unsigned short io_in_data_length; // bytes of pure io-data
unsigned short offset_io_in; // offset in io-data area for this iocr
unsigned short offset_clean_io_in; // offset in io-data area for this iocr
unsigned short offset_status_in; // offset in io-data area for this iocr
unsigned short io_out_data_length; // bytes of pure io-data
unsigned short offset_io_out; // offset in io-data area for this iocr
unsigned short offset_clean_io_out; // offset in io-data area for this iocr
unsigned short offset_status_out; // offset in io-data area for this iocr
~PnSubmoduleData() {}
int print( ofstream& fp);
};
class PnModuleData {
public:
PnModuleData() : slot_number(0), slot_idx(0), state(0), ident_number(0), phys_ident_number(0) {}
unsigned int slot_number;
unsigned int slot_idx;
unsigned short state;
unsigned int ident_number;
unsigned int phys_ident_number;
vector<PnSubmoduleData *> submodule_data;
~PnModuleData() {
for ( unsigned int i = 0; i < submodule_data.size(); i++)
delete submodule_data[i];
}
int print( ofstream& fp);
};
class PnDeviceData {
public:
PnDeviceData() : device_ref(0), alarm_ref(0), device_state(0), no_diff_modules(0) {memset(&alarm_data, 0, sizeof(PN_Alarm_Data));}
unsigned short device_ref;
unsigned short alarm_ref;
unsigned short device_state;
unsigned short no_diff_modules;
PN_Alarm_Data alarm_data;
vector<PnModuleData *> module_data;
vector<PnIOCRData *> iocr_data;
~PnDeviceData() { device_reset();}
void device_reset() {
for ( unsigned int i = 0; i < module_data.size(); i++)
delete module_data[i];
module_data.clear();
for ( unsigned int i = 0; i < iocr_data.size(); i++)
delete iocr_data[i];
iocr_data.clear();
}
int copy_slot( unsigned int slot_idx);
int cut_slot( unsigned int slot_idx);
int paste_slot( unsigned int slot_idx);
};
class PnDeviceInfo {
public:
PnDeviceInfo() {}
unsigned char ipaddress[4];
unsigned char macaddress[6];
unsigned char subnetmask[4];
char devname[80];
int vendorid;
int deviceid;
};
typedef struct _agent_args {
void *local;
io_sAgent *ap;
} agent_args;
class io_sAgentLocal {
public :
io_sAgentLocal() {}
T_PNAK_SERVICE_REQ_RES service_req_res;
T_PNAK_SERVICE_CON service_con;
unsigned char ipaddress[4];
unsigned char macaddress[6];
unsigned char subnetmask[4];
vector<PnDeviceData *> device_data;
vector<PnDeviceInfo *> dev_info;
pthread_t handle_events;
agent_args args;
};
#endif
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
#include "co_dcli.h" #include "co_dcli.h"
#include "rt_pn_gsdml_data.h" #include "rt_pn_gsdml_data.h"
#include "rt_io_base.h" #include "rt_io_base.h"
#include "rt_io_pn_locals.h" #include "rt_io_pnak_locals.h"
#define _PN_U32_HIGH_WORD(U32) ((PN_U16) ((U32) >> 16)) #define _PN_U32_HIGH_WORD(U32) ((PN_U16) ((U32) >> 16))
#define _PN_U32_LOW_WORD(U32) ((PN_U16) (U32) ) #define _PN_U32_LOW_WORD(U32) ((PN_U16) (U32) )
...@@ -1546,5 +1546,6 @@ void *handle_events(void *ptr) { ...@@ -1546,5 +1546,6 @@ void *handle_events(void *ptr) {
// pThisSmObject->Running = PN_FALSE; // pThisSmObject->Running = PN_FALSE;
} }
} }
return 0;
} }
...@@ -66,6 +66,9 @@ foldersTree = gFld("<b>Object Reference Manual</b>", "../orm_intro.html") ...@@ -66,6 +66,9 @@ foldersTree = gFld("<b>Object Reference Manual</b>", "../orm_intro.html")
aux1 = insFld(foldersTree, gFld("<b>KlocknerMoeller</b>", "klocknermoeller_index.html")) aux1 = insFld(foldersTree, gFld("<b>KlocknerMoeller</b>", "klocknermoeller_index.html"))
KlocknerMoeller(aux1) KlocknerMoeller(aux1)
aux1 = insFld(foldersTree, gFld("<b>Miscellaneous</b>", "miscellaneous_index.html"))
Miscellaneous(aux1)
......
...@@ -3,6 +3,7 @@ pwrb 0.0.0.2 ...@@ -3,6 +3,7 @@ pwrb 0.0.0.2
nmps 0.0.1.1 nmps 0.0.1.1
tlog 0.0.1.2 tlog 0.0.1.2
remote 0.0.1.4 remote 0.0.1.4
miscellaneous 0.0.0.9
basecomponent 0.0.0.10 basecomponent 0.0.0.10
profibus 0.0.250.7 profibus 0.0.250.7
opc 0.0.250.9 opc 0.0.250.9
......
...@@ -24,8 +24,10 @@ ...@@ -24,8 +24,10 @@
extern "C" { extern "C" {
#endif #endif
/* co_ccm.h -- script interpreter */ /* co_ccm.h -- script interpreter */
#define CCM_DECL_STRING 1 #define CCM_DECL_STRING 1
#define CCM_DECL_INT 2 #define CCM_DECL_INT 2
#define CCM_DECL_FLOAT 3 #define CCM_DECL_FLOAT 3
...@@ -120,7 +122,7 @@ typedef struct ccm_sFunc_ { ...@@ -120,7 +122,7 @@ typedef struct ccm_sFunc_ {
struct ccm_sFunc_ *next; struct ccm_sFunc_ *next;
} ccm_sFunc; } ccm_sFunc;
typedef struct { typedef struct ccm_sFileCtx_ {
ccm_sLine *main_start_line; ccm_sLine *main_start_line;
ccm_sLine *main_end_line; ccm_sLine *main_end_line;
int verify; int verify;
...@@ -160,7 +162,7 @@ typedef struct { ...@@ -160,7 +162,7 @@ typedef struct {
ccm_sOperand *list; ccm_sOperand *list;
} *ccm_tRowCtx; } *ccm_tRowCtx;
typedef struct { typedef struct ccm_sFuncCtx_ {
char msg[80]; char msg[80];
ccm_tFileCtx filectx; ccm_tFileCtx filectx;
ccm_sIntvar *locint_list; ccm_sIntvar *locint_list;
...@@ -182,7 +184,7 @@ typedef struct { ...@@ -182,7 +184,7 @@ typedef struct {
} ccm_sSysFunc; } ccm_sSysFunc;
typedef struct { typedef struct ccm_sSingeLineCtx_ {
ccm_tFuncCtx funcctx; ccm_tFuncCtx funcctx;
int result_decl; int result_decl;
ccm_tFloat result_float; ccm_tFloat result_float;
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
typedef struct s_ASupLstLink sASupLstLink; typedef struct s_ASupLstLink sASupLstLink;
typedef struct s_DSupLstLink sDSupLstLink; typedef struct s_DSupLstLink sDSupLstLink;
typedef struct { typedef struct io_sSupCtx_ {
sASupLstLink *TimerLstP; sASupLstLink *TimerLstP;
sASupLstLink *ASupAnaLstP; sASupLstLink *ASupAnaLstP;
sDSupLstLink *DSupDigLstP; sDSupLstLink *DSupDigLstP;
......
...@@ -420,7 +420,7 @@ mh_OutunitReceive () ...@@ -420,7 +420,7 @@ mh_OutunitReceive ()
return MH__QCOMGETMSG; return MH__QCOMGETMSG;
} }
switch (msg.type.b) { switch ((int)msg.type.b) {
case qcom_eBtype_qcom: case qcom_eBtype_qcom:
fromQcom(&msg); fromQcom(&msg);
......
...@@ -252,7 +252,7 @@ ConvertPut ( ...@@ -252,7 +252,7 @@ ConvertPut (
* Neth version 7 and later. If this is needed for more messages * Neth version 7 and later. If this is needed for more messages
* then a generic solution must be implemented. * then a generic solution must be implemented.
*/ */
if (put->type.s == net_eMsg_volumes7) { if (put->type.s == (qcom_eStype)net_eMsg_volumes7) {
put->type.s = net_eMsg_volumes; put->type.s = net_eMsg_volumes;
fXdr = xdr_net_sVolumes7; fXdr = xdr_net_sVolumes7;
} }
...@@ -303,7 +303,7 @@ ConvertGet ( ...@@ -303,7 +303,7 @@ ConvertGet (
* then a generic solution must be implemented. * then a generic solution must be implemented.
*/ */
fXdr = func_xdr[(int)get->type.s]; fXdr = func_xdr[(int)get->type.s];
if (get->type.s == net_eMsg_volumes) { if (get->type.s == (qcom_eStype)net_eMsg_volumes) {
gdb_ScopeLock { gdb_ScopeLock {
gnp = hash_Search(&lsts, gdbroot->nid_ht, &np->nid); gnp = hash_Search(&lsts, gdbroot->nid_ht, &np->nid);
netver = gnp->netver; netver = gnp->netver;
...@@ -520,7 +520,7 @@ Request ( ...@@ -520,7 +520,7 @@ Request (
if ( if (
get->type.b != net_cMsgClass || get->type.b != net_cMsgClass ||
get->type.s != subtype get->type.s != (qcom_eStype)subtype
) { ) {
qcom_Free(NULL, gmp); qcom_Free(NULL, gmp);
pwr_Return(NULL, sts, QCOM__WEIRD); pwr_Return(NULL, sts, QCOM__WEIRD);
......
...@@ -1334,7 +1334,7 @@ void rt_procom::provideStatus( pwr_tStatus rsts) ...@@ -1334,7 +1334,7 @@ void rt_procom::provideStatus( pwr_tStatus rsts)
{ {
pwr_tStatus sts; pwr_tStatus sts;
switch( m_getmsg->type.s) { switch( (int)m_getmsg->type.s) {
case net_eMsg_getObjectInfo: { case net_eMsg_getObjectInfo: {
qcom_sPut put; qcom_sPut put;
net_sGetObjectInfoR *rmp; net_sGetObjectInfoR *rmp;
......
...@@ -4,9 +4,10 @@ ...@@ -4,9 +4,10 @@
TLog 0.0.1.2 PwrBase TLog 0.0.1.2 PwrBase
SSAB 0.0.1.3 PwrBase SSAB 0.0.1.3 PwrBase
Remote 0.0.1.4 PwrBase Remote 0.0.1.4 PwrBase
Miscellaneous 0.0.0.9 PwrBase
BaseComponent 0.0.0.10 PwrBase BaseComponent 0.0.0.10 PwrBase
Profibus 0.0.250.7 PwrBase Profibus 0.0.250.7 PwrBase
OtherManufacturer 0.2.250.1 PwrBase OtherManufacturer 0.0.250.1 PwrBase
ABB 0.0.250.2 PwrBase ABB 0.0.250.2 PwrBase
Siemens 0.0.250.3 PwrBase Siemens 0.0.250.3 PwrBase
Telemecanique 0.0.250.4 PwrBase Telemecanique 0.0.250.4 PwrBase
......
...@@ -4,9 +4,10 @@ ...@@ -4,9 +4,10 @@
TLog 0.0.1.2 PwrBase TLog 0.0.1.2 PwrBase
SSAB 0.0.1.3 PwrBase SSAB 0.0.1.3 PwrBase
Remote 0.0.1.4 PwrBase Remote 0.0.1.4 PwrBase
Miscellaneous 0.0.0.9 PwrBase
BaseComponent 0.0.0.10 PwrBase BaseComponent 0.0.0.10 PwrBase
Profibus 0.0.250.7 PwrBase Profibus 0.0.250.7 PwrBase
OtherManufacturer 0.2.250.1 PwrBase OtherManufacturer 0.0.250.1 PwrBase
ABB 0.0.250.2 PwrBase ABB 0.0.250.2 PwrBase
Siemens 0.0.250.3 PwrBase Siemens 0.0.250.3 PwrBase
Telemecanique 0.0.250.4 PwrBase Telemecanique 0.0.250.4 PwrBase
......
...@@ -4,9 +4,10 @@ ...@@ -4,9 +4,10 @@
TLog 0.0.1.2 PwrBase TLog 0.0.1.2 PwrBase
SSAB 0.0.1.3 PwrBase SSAB 0.0.1.3 PwrBase
Remote 0.0.1.4 PwrBase Remote 0.0.1.4 PwrBase
Miscellaneous 0.0.0.9 PwrBase
BaseComponent 0.0.0.10 PwrBase BaseComponent 0.0.0.10 PwrBase
Profibus 0.0.250.7 PwrBase Profibus 0.0.250.7 PwrBase
OtherManufacturer 0.2.250.1 PwrBase OtherManufacturer 0.0.250.1 PwrBase
ABB 0.0.250.2 PwrBase ABB 0.0.250.2 PwrBase
Siemens 0.0.250.3 PwrBase Siemens 0.0.250.3 PwrBase
Telemecanique 0.0.250.4 PwrBase Telemecanique 0.0.250.4 PwrBase
......
Package: pwr48 Package: pwr48
Version: 4.8.1-2 Version: 4.8.2-1
Section: base Section: base
Priority: optional Priority: optional
Architecture: i386 Architecture: i386
Depends: libc6 (>= 2.12.1-0ubuntu6), libgtk2.0-0 (>= 2.22.0-0ubuntu1), libasound2 (>= 1.0.23-1ubuntu2), libdb4.8 (>=4.8.30-1), libdb4.8++ (>=4.8.30-1), libmysql++3 (>= 3.0.9-1ubuntu2), g++ (>= 4:4.4.4-1ubuntu2) Depends: libc6 (>= 2.13-0ubuntu13), libgtk2.0-0 (>= 2.24.4-0ubuntu2), libasound2 (>= 1.0.24.1-0ubuntu5), libdb4.8 (>=4.8.30-5ubuntu2), libdb4.8++ (>=4.8.30-5ubuntu2), libmysql++3 (>= 3.0.9-1ubuntu2), g++ (>= 4:4.5.2-1ubuntu3), xfonts-100dpi
Replaces: pwrrt,pwr34,pwr39,pwr40,pwr41,pwr42,pwr43,pwr44,pwr45,pwr46,pwr47 Replaces: pwrrt,pwr34,pwr39,pwr40,pwr41,pwr42,pwr43,pwr44,pwr45,pwr46,pwr47
Maintainer: Proview <postmaster@proview.se> Maintainer: Proview <postmaster@proview.se>
Description: Proview development and runtime environment package Description: Proview development and runtime environment package
...@@ -25,3 +25,8 @@ Description: Proview development and runtime environment package ...@@ -25,3 +25,8 @@ Description: Proview development and runtime environment package
- Wb object editor, Ctrl DoubleClick MB1 didn't work on attribute references. - Wb object editor, Ctrl DoubleClick MB1 didn't work on attribute references.
- Flow alloc color problem fixed. - Flow alloc color problem fixed.
- wb locale fix for ubuntu. - wb locale fix for ubuntu.
4.8.2-1
- Support for Hilscher cifX boards.
- Support for Hilscher cifX Profinet Controller.
- UDP communication configured with IO objects.
- Support for USB joystick.
Package: pwrdemo48 Package: pwrdemo48
Version: 4.8.1-2 Version: 4.8.2-1
Section: base Section: base
Priority: optional Priority: optional
Architecture: i386 Architecture: i386
Depends: pwr48 (>= 4.8.1-2) Depends: pwr48 (>= 4.8.2-1)
Replaces: Replaces:
Maintainer: Proview <postmaster@proview.se> Maintainer: Proview <postmaster@proview.se>
Description: Proview Demo Project package Description: Proview Demo Project package
......
Package: pwrrt Package: pwrrt
Version: 4.8.1-2 Version: 4.8.2-1
Section: base Section: base
Priority: optional Priority: optional
Architecture: i386 Architecture: i386
Depends: libc6 (>= 2.12.1-0ubuntu6), libgtk2.0-0 (>= 2.22.0-0ubuntu1), libasound2 (>= 1.0.23-1ubuntu2), libdb4.8 (>=4.8.30-1) Depends: libc6 (>= 2.13-0ubuntu13), libgtk2.0-0 (>= 2.24.4-0ubuntu2), libasound2 (>= 1.0.24.1-0ubuntu5), libdb4.8 (>=4.8.30-5ubuntu2), xfonts-100dpi
Replaces: pwr34,pwr39,pwr40,pwr41,pwr42,pwr43,pwr44,pwr45,pwr46,pwr47,pwr48 Replaces: pwr34,pwr39,pwr40,pwr41,pwr42,pwr43,pwr44,pwr45,pwr46,pwr47,pwr48
Maintainer: Proview <postmaster@proview.se> Maintainer: Proview <postmaster@proview.se>
Description: Description:
......
Package: pwrsev Package: pwrsev
Version: 4.8.1-2 Version: 4.8.2-1
Section: base Section: base
Priority: optional Priority: optional
Architecture: i386 Architecture: i386
Depends: libc6 (>= 2.12.1-0ubuntu6), libgtk2.0-0 (>= 2.22.0-0ubuntu1), libasound2 (>= 1.0.23-1ubuntu2), libdb4.8 (>=4.8.30-1), libmysql++3 (>= 3.0.9-1ubuntu2) Depends: libc6 (>= 2.13-0ubuntu13), libgtk2.0-0 (>= 2.24.4-0ubuntu2), libasound2 (>= 1.0.24.1-0ubuntu5), libdb4.8 (>=4.8.30-5ubuntu2), libmysql++3 (>= 3.0.9-1ubuntu2), xfonts-100dpi
Replaces: pwr34,pwr39,pwr40,pwr41,pwr42,pwr43,pwr44,pwr45,pwr46,pwr47,pwr48 Replaces: pwr34,pwr39,pwr40,pwr41,pwr42,pwr43,pwr44,pwr45,pwr46,pwr47,pwr48
Maintainer: Proview <postmaster@proview.se> Maintainer: Proview <postmaster@proview.se>
Description: Description:
......
...@@ -4,9 +4,10 @@ ...@@ -4,9 +4,10 @@
TLog 0.0.1.2 PwrBase TLog 0.0.1.2 PwrBase
SSAB 0.0.1.3 PwrBase SSAB 0.0.1.3 PwrBase
Remote 0.0.1.4 PwrBase Remote 0.0.1.4 PwrBase
Miscellaneous 0.0.0.9 PwrBase
BaseComponent 0.0.0.10 PwrBase BaseComponent 0.0.0.10 PwrBase
Profibus 0.0.250.7 PwrBase Profibus 0.0.250.7 PwrBase
OtherManufacturer 0.2.250.1 PwrBase OtherManufacturer 0.0.250.1 PwrBase
ABB 0.0.250.2 PwrBase ABB 0.0.250.2 PwrBase
Siemens 0.0.250.3 PwrBase Siemens 0.0.250.3 PwrBase
Telemecanique 0.0.250.4 PwrBase Telemecanique 0.0.250.4 PwrBase
......
Package: pwr48 Package: pwr48
Version: 4.8.1-2 Version: 4.8.2-1
Section: base Section: base
Priority: optional Priority: optional
Architecture: amd64 Architecture: amd64
Depends: libc6 (>= 2.12.1-0ubuntu6), libgtk2.0-0 (>= 2.22.0-0ubuntu1), libasound2 (>= 1.0.23-1ubuntu2), libdb4.8 (>=4.8.30-1), libdb4.8++ (>=4.8.30-1), libmysql++3 (>= 3.0.9-1ubuntu2), g++ (>= 4:4.4.4-1ubuntu2) Depends: libc6 (>= 2.13-0ubuntu13), libgtk2.0-0 (>= 2.24.4-0ubuntu2), libasound2 (>= 1.0.24.1-0ubuntu5), libdb4.8 (>=4.8.30-5ubuntu2), libdb4.8++ (>=4.8.30-5ubuntu2), libmysql++3 (>= 3.0.9-1ubuntu2), g++ (>= 4:4.5.2-1ubuntu3), xfonts-100dpi
Replaces: pwrrt,pwr34,pwr39,pwr40,pwr41,pwr42,pwr43,pwr44,pwr45,pwr46,pwr47 Replaces: pwrrt,pwr34,pwr39,pwr40,pwr41,pwr42,pwr43,pwr44,pwr45,pwr46,pwr47
Maintainer: Proview <postmaster@proview.se> Maintainer: Proview <postmaster@proview.se>
Description: Proview development and runtime environment package Description: Proview development and runtime environment package
...@@ -25,3 +25,8 @@ Description: Proview development and runtime environment package ...@@ -25,3 +25,8 @@ Description: Proview development and runtime environment package
- Wb object editor, Ctrl DoubleClick MB1 didn't work on attribute references. - Wb object editor, Ctrl DoubleClick MB1 didn't work on attribute references.
- Flow alloc color problem fixed. - Flow alloc color problem fixed.
- wb locale fix for ubuntu. - wb locale fix for ubuntu.
4.8.2-1
- Support for Hilscher cifX boards.
- Support for Hilscher cifX Profinet Controller.
- UDP communication configured with IO objects.
- Support for USB joystick.
Package: pwrdemo48 Package: pwrdemo48
Version: 4.8.1-2 Version: 4.8.2-1
Section: base Section: base
Priority: optional Priority: optional
Architecture: amd64 Architecture: amd64
Depends: pwr48 (>= 4.8.1-2) Depends: pwr48 (>= 4.8.2-1)
Replaces: Replaces:
Maintainer: Proview <postmaster@proview.se> Maintainer: Proview <postmaster@proview.se>
Description: Proview Demo Project package Description: Proview Demo Project package
......
Package: pwrrt Package: pwrrt
Version: 4.8.1-2 Version: 4.8.2-1
Section: base Section: base
Priority: optional Priority: optional
Architecture: amd64 Architecture: amd64
Depends: libc6 (>= 2.10.1-0ubuntu16), libgtk2.0-0 (>= 2.18.3-1ubuntu2.2), libasound2 (>= 1.0.20-3ubuntu6.1), libdb4.7 (>=4.7.25-7ubuntu2) Depends: libc6 (>= 2.13-0ubuntu13), libgtk2.0-0 (>= 2.24.4-0ubuntu2), libasound2 (>= 1.0.24.1-0ubuntu5), libdb4.8 (>=4.8.30-5ubuntu2), xfonts-100dpi
Replaces: pwr34,pwr39,pwr40,pwr41,pwr42,pwr43,pwr44,pwr45,pwr46,pwr47 Replaces: pwr34,pwr39,pwr40,pwr41,pwr42,pwr43,pwr44,pwr45,pwr46,pwr47
Maintainer: Proview <postmaster@proview.se> Maintainer: Proview <postmaster@proview.se>
Description: Description:
......
Package: pwrsev Package: pwrsev
Version: 4.8.1-2 Version: 4.8.2-1
Section: base Section: base
Priority: optional Priority: optional
Architecture: amd64 Architecture: amd64
Depends: libc6 (>= 2.10.1-0ubuntu16), libgtk2.0-0 (>= 2.18.3-1ubuntu2.2), libasound2 (>= 1.0.20-3ubuntu6.1), libdb4.7 (>=4.7.25-7ubuntu2), libmysqlclient15off (>= 5.1.30really5.0.83-0ubuntu3) Depends: libc6 (>= 2.13-0ubuntu13), libgtk2.0-0 (>= 2.24.4-0ubuntu2), libasound2 (>= 1.0.24.1-0ubuntu5), libdb4.8 (>=4.8.30-5ubuntu2), libmysql++3 (>= 3.0.9-1ubuntu2), xfonts-100dpi
Replaces: pwr34,pwr39,pwr40,pwr41,pwr42,pwr43,pwr44,pwr45,pwr46,pwr47 Replaces: pwr34,pwr39,pwr40,pwr41,pwr42,pwr43,pwr44,pwr45,pwr46,pwr47
Maintainer: Proview <postmaster@proview.se> Maintainer: Proview <postmaster@proview.se>
Description: Description:
......
...@@ -276,6 +276,7 @@ sub ebuild # args: pass flavour ...@@ -276,6 +276,7 @@ sub ebuild # args: pass flavour
my $build_opc = 0; my $build_opc = 0;
my $build_profibus = 0; my $build_profibus = 0;
my $build_otherio = 0; my $build_otherio = 0;
my $build_misc = 0;
my $build_ssabox = 0; my $build_ssabox = 0;
my $build_tlog = 0; my $build_tlog = 0;
my $build_othermanu = 0; my $build_othermanu = 0;
...@@ -297,6 +298,7 @@ sub ebuild # args: pass flavour ...@@ -297,6 +298,7 @@ sub ebuild # args: pass flavour
elsif ( $value[0] eq "opc" && $value[1] eq "1" ) { $build_opc = 1; printf( "-- opc\n");} elsif ( $value[0] eq "opc" && $value[1] eq "1" ) { $build_opc = 1; printf( "-- opc\n");}
elsif ( $value[0] eq "profibus" && $value[1] eq "1" ) { $build_profibus = 1; printf( "-- profibus\n");} elsif ( $value[0] eq "profibus" && $value[1] eq "1" ) { $build_profibus = 1; printf( "-- profibus\n");}
elsif ( $value[0] eq "otherio" && $value[1] eq "1" ) { $build_otherio = 1; printf( "-- otherio\n");} elsif ( $value[0] eq "otherio" && $value[1] eq "1" ) { $build_otherio = 1; printf( "-- otherio\n");}
elsif ( $value[0] eq "misc" && $value[1] eq "1" ) { $build_misc = 1; printf( "-- misc\n");}
elsif ( $value[0] eq "ssabox" && $value[1] eq "1" ) { $build_ssabox = 1; printf( "-- ssabox\n");} elsif ( $value[0] eq "ssabox" && $value[1] eq "1" ) { $build_ssabox = 1; printf( "-- ssabox\n");}
elsif ( $value[0] eq "tlog" && $value[1] eq "1" ) { $build_tlog = 1; printf( "-- tlog\n");} elsif ( $value[0] eq "tlog" && $value[1] eq "1" ) { $build_tlog = 1; printf( "-- tlog\n");}
elsif ( $value[0] eq "othermanu" && $value[1] eq "1" ) { $build_othermanu = 1; printf( "-- othermanu\n");} elsif ( $value[0] eq "othermanu" && $value[1] eq "1" ) { $build_othermanu = 1; printf( "-- othermanu\n");}
...@@ -367,6 +369,11 @@ sub ebuild # args: pass flavour ...@@ -367,6 +369,11 @@ sub ebuild # args: pass flavour
_build("lib", "rt", "src", "all"); _build("lib", "rt", "src", "all");
merge(); merge();
} }
if ( $build_misc == 1) {
_module("misc");
_build("lib", "misc", "src", "all");
merge();
}
if ( $build_ssabox == 1) { if ( $build_ssabox == 1) {
_module("ssabox"); _module("ssabox");
_build("lib", "rt", "src", "all"); _build("lib", "rt", "src", "all");
...@@ -435,6 +442,10 @@ sub ebuild # args: pass flavour ...@@ -435,6 +442,10 @@ sub ebuild # args: pass flavour
_module("telemecanique"); _module("telemecanique");
merge(); merge();
} }
if ( $build_misc == 1) {
_module("misc");
merge();
}
} }
elsif ( $pass eq "op" ) { elsif ( $pass eq "op" ) {
_module("xtt"); _module("xtt");
...@@ -511,6 +522,11 @@ sub ebuild # args: pass flavour ...@@ -511,6 +522,11 @@ sub ebuild # args: pass flavour
_build("mmi", "*", "src", "copy"); _build("mmi", "*", "src", "copy");
merge(); merge();
} }
if ( $build_misc == 1) {
_module("misc");
_build("mmi", "*", "src", "copy");
merge();
}
if ( $build_ssabox == 1) { if ( $build_ssabox == 1) {
_module("ssabox"); _module("ssabox");
_build("mmi", "*", "src", "copy"); _build("mmi", "*", "src", "copy");
...@@ -591,6 +607,9 @@ sub build_all_modules () ...@@ -591,6 +607,9 @@ sub build_all_modules ()
_module("opc"); _module("opc");
build_all( $flavour); build_all( $flavour);
merge(); merge();
_module("misc");
build_all( $flavour);
merge();
_module("ssabox"); _module("ssabox");
build_all( $flavour); build_all( $flavour);
merge(); merge();
...@@ -689,6 +708,11 @@ sub build_all_wbl () ...@@ -689,6 +708,11 @@ sub build_all_wbl ()
system( "rm $load_dir/*.dbs"); system( "rm $load_dir/*.dbs");
_build("wbl", "bcomp", "src", "lib"); _build("wbl", "bcomp", "src", "lib");
merge(); merge();
_module("misc");
my($load_dir) = $ENV{"pwr_load"};
system( "rm $load_dir/*.dbs");
_build("wbl", "misc", "src", "lib");
merge();
_module("ssabox"); _module("ssabox");
my($load_dir) = $ENV{"pwr_load"}; my($load_dir) = $ENV{"pwr_load"};
system( "rm $load_dir/*.dbs"); system( "rm $load_dir/*.dbs");
...@@ -825,6 +849,8 @@ sub create_all_modules () ...@@ -825,6 +849,8 @@ sub create_all_modules ()
create(); create();
_module("bcomp"); _module("bcomp");
create(); create();
_module("misc");
create();
_module("profibus"); _module("profibus");
create(); create();
_module("sev"); _module("sev");
......
This diff is collapsed.
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