全局脚本提供接口,方便您通过几行代码快速实现多流程控制和通信控制。
实现类型 |
方法 |
描述 |
---|---|---|
初始化 |
全局脚本初始化 |
|
流程逻辑处理 |
定义方案下所有流程的批量执行逻辑 |
|
设置Process方法连续运行的时间间隔 |
||
获取Process方法连续运行的时间间隔 |
||
释放资源 |
释放不再需要的资源 |
|
方案加载完成时初始化 |
方案加载完成后进行初始化,实现方案加载完成所需的相关功能 |
|
获取/设置全局变量 |
获取int型全局变量 |
|
设置int型全局变量 |
||
获取float型全局变量 |
||
设置float型全局变量 |
||
获取string型全局变量 |
||
设置string型全局变量 |
||
通信接收事件 |
初始化全局脚本与通信管理的通信端口。 |
|
注册通信数据接收事件。注册后,通信设备收到数据时,将触发“通信数据接收事件” |
||
注销通信数据接收事件。注销后,通信设备收到数据时不再触发“通信数据接收事件” |
||
通信数据接收事件的回调函数 |
||
发送通信数据 |
指定某个通信设备发送特定类型的数据。 |
|
调试 |
将信息打印至DebugView中。 |
public int Process(){}
定义方案下所有流程的批量执行逻辑。具体示例见..\Applications\GlobalScript\Samples\CH\3.x路径下的全局脚本_单流程执行和全局脚本_多流程控制执行。
以下触发场景或需求,无法通过调用Process方法实现流程控制。
硬触发(硬件触发方案)
通信触发方案
全局触发
在主界面或运行界面控制单流程的执行
该方法在VM主界面快捷工具条上的全流程执行按钮被点击后调用。
被调用后,该方法的具体运行逻辑如下:
场景1:
单击则调用一次该方法。在全局脚本的默认代码中,定义在Process中的DefaultExecuteProcess()会被调用,控制方案中的所有流程执行一次。
场景2:
单击则按特定时间间隔重复调用该方法。
重复调用该方法的时间间隔,需通过调用SetScriptContinuousExecuteInterval方法进行配置。
在场景2中,仅在Process方法第一次调用时,方案的全部流程会被连续执行。具体的逻辑见下图。
bool StartGlobalCommunicate ()
初始化全局脚本与通信管理的通信端口。
true:调用成功
false:调用失败
RegesiterReceiveCommunicateDataEvent
可在全局脚本中调用如下方法,指定某个通信设备发送特定类型的数据。
接口原型 |
说明 |
---|---|
SendCommDeviceData(string data,int deviceID) |
指定某个TCP、串口或UDP设备发送string类型的数据。
|
SendCommDeviceData(byte[] bytedata,int deviceID) |
指定某个TCP、串口或UDP设备发送十六进制数据。
|
SendCommDeviceData(string data,int deviceID,int addressID,DataType dataType) |
指定某个PLC或Modbus设备发送int、float或string类型的数据。
|
SendCommDeviceData(byte[] bytedata,int deviceID,int addressID,DataType.ByteType) |
指定某个PLC或Modbus设备发送十六进制数据。
|
上图的示例中,TCP客户端和三菱MC的设备ID分别为1和2,三菱MC的地址ID为1。