发布于 2006-03-11 20:54:02
0楼
MCGS`回复.
可以使用两个函数。 !GetDeviceState(DevName )和 !SetDeviceState(DevName ),用 !GetDeviceState(DevName ) 不断检测设备状态,当设备停电时,状态为4,这时候用 !SetDeviceState(DevName ) 将设备设为 停止状态。等到设备状态为3时,再启动设备。
!GetDeviceState(DevName )
函数意义: 按设备名查询设备的状态。
返 回 值: 数值型。
=-1 调用不正常。
=1 设备处于正常的工作状态。
=2 设备正在工作,但设备不正常。
=3 设备处于停止工作状态,且设备正常。
=4 设备处于停止状态,且设备有错。
参 数: DevName ,设备名,字符型。
实 例: !GetDeviceState( OmronPLC) ,读取设备构件“ OmronPLC ”的当前工作状态。
!SetDevice(DevName , DevOp , CmdStr )
函数意义: 按照设备名字对设备进行操作。
返 回 值: 数值型。返回值: =0 :调用正常; <>0 :调用不正常。
参 数: DevName ,设备名,字符型;
DevOp ,设备操作码,数值型;
CmdStr ,设备命令字符串,只有当 DevOp=6 时 CmdStr 才有意义。
DevOp 取值范围及相应含义:
1 :启动设备开始工作。
2 :停止设备的工作使其处于停止状态。
3 :测试设备的工作状态。
4 :启动设备工作一次。
5 :改变设备的工作周期, CmdStr 中包含新的工作周期,单位为 ms 。
6 :执行指定的设备命令, CmdStr 中包含指定命令的格式。
实 例: !SetDevice(OmronPLC , 1 , " " ) ,启动设备构件“ OmronPLC ”开始工作。