脚本接口

脚本提供接口,方便您通过几行代码快速实现流程控制和通信控制。

脚本接口概览

表 1 脚本全量接口

实现类型

方法

描述

初始化

Init

初始化脚本

流程逻辑处理

Process

定义单个流程的执行逻辑

全局变量处理

GlobalVariableModule.SetValue

设置全局变量的值

GlobalVariableModule.GetValue

获取全局变量的值

处理模块结果与参数

CurrentProcess.GetModule

获取模块结果数据

CurrentProcess.GetModule.SetValue

设置模块运行参数的值

GetModuleParam

获取模块运行参数的值

发送通信数据

SendData

指定通信设备发送特定类型的数据

获取数据

获取int、float、string、bytes(十六进制)、image(图像)、数组和ROIBOX(ROI内的识别框)等数据

输出数据

设置int、float、string、bytes(十六进制)、image(图像)、数组和ROIBOX(ROI内的识别框)等数据的输出

调试

ConsoleWrite

将信息打印至DebugView

ShowMessageBox

将错误信息通过弹窗提示

Init

接口原型

public void Init(){}

功能描述

初始化脚本。可在此方法中实现初始化相关操作 。该方法在加载方案或预编译全局脚本时执行。

Process

接口原型

public bool Process(){}

功能描述

定义脚本模块所在流程的执行逻辑。

GlobalVariableModule.SetValue

接口原型

GlobalVariableModule.SetValue(string paramName,string paramValue)

功能描述

设置全局变量。

输入参数

paramName:string类型,全局变量名称

输出参数

paramValue:string类型,全局变量的值

返回值

0:调用成功

0返回值:调用失败

GlobalVariableModule.GetValue

接口原型

object GlobalVariableModule.GetValue (string paramName)

功能描述

获取全局变量的值。

输入参数

paramName:string类型,变量名称

返回值

如果调用成功,返回全局变量的值。

如果调用异常,返回null

说明:

返回值为object类型,如需转成其他类型,请将object转成string再转至其他类型。

CurrentProcess.GetModule

接口原型
CurrentProcess.GetModule(string paramModuleName).GetValue(string paramValueName)
功能描述

获取指定模块某个结果参数的值。

输入参数

paramModuleName:string类型,模块名称。请从流程中查找模块名称。

paramValueName:string类型,模块结果中某个参数的名称。请从SDK手册中查找参数名称。该SDK手册可从VM安装路径中获取:..\Development\V4.x\Documentations

说明:

如果对应的模块在流程的Group中,传入paramModuleName的模块名称需附带Group名称,例如:GetModule("Group1.图像源1")

返回值

如果调用成功,返回全局变量的值。

如果调用异常,返回null

CurrentProcess.GetModule.SetValue

接口原型

CurrentProcess.GetModule(string paramModuleName).SetValue(string paramValueName,string paramValue)

功能描述

设置模块运行参数的值。

输入参数

paramModuleName:string类型,模块名称。请从流程中查找模块名称。

paramValueName:string类型,参数名称。请从SDK手册中查找参数名称。该SDK手册可从VM安装路径中获取:..\Development\V4.x\Documentations

paramValue:stirng类型,参数值

说明:

如果对应的模块在流程的Group中,传入paramModuleName的模块名称需附带Group名称,例如:GetModule("Group1.图像源1")

返回值

0:调用成功。

0返回值:调用异常。

SendData

表 2 具体方法

接口原型

说明

GlobalCommunicateModule.GetDevice(int deviceID).GetAddress(int addressID).SendData(string data,DataType dataType)

指定某个PLC/Modbus设备发送Int、float或string类型数据。

  • 输入参数:

    • deviceID:int类型,通信管理中设备的设备ID。设备ID 的示例见下文的设备ID与地址ID示例

    • addressID:int类型,通信管理中设备的地址ID。地址ID 的示例见下文的设备ID与地址ID示例

    • data:string类型,待发送的数据,如果发送多个,请用“;”隔开。

    • dataTypeDataType类型,待发送数据的类型,包含int、float和string三种。

  • 返回值:

    • 0:调用成功。

    • 0返回值:调用异常。

GlobalCommunicateModule.GetDevice(int deviceID).GetAddress(int addressID).SendData(byte[] bytedata,DataType.ByteType)

指定某个PLC/Modbus设备发送十六进制数据。

  • 输入参数:

  • 返回值:

    • 0:调用成功。

    • 0返回值:调用异常。

GlobalCommunicateModule.GetDevice(int deviceID).SendData(string data)

指定某个TCP、UDP或窗口发送string类型的数据。

  • 输入参数:

  • 返回值:

    • 0:调用成功。

    • 0返回值:调用异常。

GlobalCommunicateModule.GetDevice(int deviceID).SendData(byte[] bytedata)

指定某个TCP、UDP或串口发送十六进制的数据。

  • 输入参数:

  • 返回值:

    • 0:调用成功。

    • 0返回值:调用异常。

上图的示例中,TCP客户端和三菱MC的设备ID分别为1和2,三菱MC的地址ID为1。

图 1 设备ID与地址ID示例

GetModuleParam

接口原型

public int GetModuleParam(uint nModuleID, string paramKey, ref string paramValue)

功能描述

获取模块运行参数。

输入参数

nModuleID:uint类型,模块ID。

输出参数

paramKey:string类型,模块运行参数

paramValue:ref string类型,模块运行参数的值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

GetIntValue

接口原型

int GetIntValue(string paramName, ref int paramValue)

输入参数

paramName:string类型,变量名称

输出参数

paramValue:int类型,变量值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

GetFloatValue

接口原型

int GetFloatValue (string paramName, ref float paramValue)

功能描述

获取float类型变量的值。

输入参数

paramName:string类型,变量名称

输出参数

paramValue:float类型,变量值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

GetStringValue

接口原型

int GetStringValue (string paramName, ref string paramValue)

功能描述

获取string类型变量的值。

输入参数

paramName:string类型,变量名称

输出参数

paramValue:string类型,变量值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

GetBytesValue

接口原型

int GetBytesValue (string paramName,ref byte[] paramValue)

功能描述

获取byte数组类型变量的值。

输入参数

paramName:string类型,变量名称

输出参数

paramValuebyte[]类型,变量值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

GetIMAGEValue

接口原型

int GetIMAGEValue (string paramName, ref Image paramValue)

功能描述

获取图像数据。

输入参数

paramName:string类型,变量名称

输出参数

paramValue:Image类型,变量值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

GetRoiboxValue

接口原型

int GetRoiboxValue(string paramName, ref RoiboxData roiboxData)

功能描述

获取ROI的BOX数据(识别框等)。

输入参数

paramName:string类型,变量名称

输出参数

roiboxDataRoiboxData类型,变量值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

GetIntArrayValue

接口原型

int GetIntArrayValue(string paramName, ref int[] paramValue,out int arrayCount)

功能描述

获取int数组变量。

输入参数

paramName:string类型,变量名称

输出参数

paramValueint[]类型,变量值

arrayCount:int类型,数组个数

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

GetFloatArrayValue

接口原型

int GetFloatArrayValue(string paramName, ref float[] paramValue,out int arrayCount)

功能描述

获取float型数组变量。

输入参数

paramName:string类型,变量值

输出参数

paramValuefloat[]类型,变量值

arrayCount:int类型,数组个数

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

GetStringArrayValue

接口原型

int GetStringArrayValue(string paramName, ref string[] paramValue,out int arrrayCount)

功能描述

获取string类型数组变量的值。

输入参数
paramName:string类型,变量名称
输出参数

paramValuestring[]类型,变量值

arrayCount:int类型,数组个数

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

SetIntValue

接口原型

int SetIntValue(string key, int value)

功能描述

设置int型变量的值。

输入参数

key:string类型,变量名称

value:int类型,变量值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

SetIntArrayValue

接口原型
SetIntArrayValue(string key, int[] valueArray, int index, int len)
功能描述

设置int数组变量的值。

输入参数

key:string型,key值。

valueArray:string[],数组

index:int型,数组的索引

len:int型,数组的长度

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

SetFloatValue

接口原型

int SetFloatValue (string key, float value)

功能描述

设置float型变量值。

输入参数

key:string类型,变量名称

value:float类型,变量值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

SetFloatArrayValue

接口原型
SetFloatArrayValue(string key, float[] valueArray, int index, int len)
功能描述

设置float数组变量的值。

输入参数

key:string型,key值。

valueArray:string[],数组

index:int型,数组的索引

len:int型,数组的长度

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

SetStringValue

接口原型

int SetStringValue (string key, string value)

功能描述

设置string型变量的值。

输入参数

key:string类型,变量名称

value:string类型,变量值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

SetStringArrayValue

接口原型
SetStringArrayValue(string key, string[] valueArray, int index, int len)
功能描述

设置string数组变量的值。

输入参数

key:string型,key值。

valueArray:string[],数组

index:int型,数组的索引

len:int型,数组的长度

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

SetBytesValue

接口原型

int SetBytesValue (string key, byte[] value)

功能描述

设置十六进制数据。

输入参数

key:string类型,变量名称

valuebyte[]类型,变量值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

SetImageValue

接口原型

int SetImageValue (string key, ImageData value)

功能描述

设置图像数据。

输入参数

key:string类型,变量名称

valueImageData类型,变量值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

SetStringValueByIndex

接口原型

int SetStringValueByIndex(string key, string value, int index, int total)

功能描述

按照索引设置string型数组内某个元素的值。

输入参数

key:string类型,变量名称

value:string类型,变量值

index:int类型,数组的索引

total:int类型,数组元素个数

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

SetIntValueByIndex

接口原型

int SetIntValueByIndex(string key, int value, int index, int total)

功能描述

按照索引设置int型数组内某个元素的值。

输入参数

key:string类型,变量名称

value:int类型,变量值

index:int类型,数组的索引

total:int类型,数组元素个数

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

SetFloatValueByIndex

接口原型

int SetFloatValueByIndex (string key, float value, int index, int total)

功能描述

按照索引设置float型数组内某个元素的值。

输入参数

key:string类型,变量名称

value:float类型,变量值

index:int类型,数组的索引

total:int类型,数组元素个数

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

SetRoiboxValue

接口原型

int SetRoiboxValue(string paramName, RoiboxData roiboxData)

功能描述

设置ROI的BOX数据(识别框等)。

输入参数

paramName:string类型,变量名称

roiboxDataRoiboxData类型,变量值

返回值
  • 0:调用成功。

  • 0返回值:调用异常。

ConsoleWrite

接口原型

void ConsoleWrite(string content)

功能描述
将异常信息打印至DebugView中。
输入参数

Content:string类型,待打印的内容

返回值

ShowMessageBox

接口原型

void ShowMessageBox(string msg)

功能描述

脚本运行异常时,通过弹窗提示。

输入参数

msg:string类型,弹窗内容

返回值