在这个维基页面中,我们将解释如何在ITME项目中使用我们的cmbSDK槽cordova插件作为自定义小部件
打开ITME Studio并创建新项目
设定你的项目决议
进入“项目资源管理器”的“全局”部分,打开“项目标签->数据表视图”,并插入我们将使用的项目标签。我们将在本节后面解释每个标记
所有标记都是本地的,对标记值的更改仅影响所做更改的站点。
回到图形部分,右键单击屏幕类别,然后单击插入
设置屏幕属性并按OK。
设计你的标题屏幕,并命名为标题。
这里我们有标题文本,标签,我们将显示阅读器设备的电池电量和智能消息对象,显示当前阅读器设备连接状态。
在头部屏幕中,我们将添加我们的barcoderreader自定义小部件。
单击自定义小部件图标
单击导入并找到您的barcoderreader。cwp文件。barcoderreader应该显示为可用的小部件。选择它并单击OK。
barcoderreader自定义小部件添加在头部屏幕
打开barcoderreader属性,进入小部件成员
将自定义小部件的属性与项目标记映射,并设置想要在回调事件中执行的set +Get动作和设置脚本。
然后打开头屏脚本,并在打开头屏时调用setPreviewContainerPositionAndSizeEventTrigger和loadScanner方法。也打开另一个屏幕(主),而这个是打开的。
现在创建另一个屏幕并将其命名为main。
在这个屏幕中,我们有一个矩形,用于显示扫描结果,按钮用于开始/停止扫描,按钮用于清除显示结果。
稍后右键单击屏幕组类别并创建启动屏幕组。
打开项目属性并将此组设置为启动屏幕。
因为我们想将这个应用程序部署为HTML web界面,并从移动设备进行交互,我们需要打开移动访问菜单至少一个,并在关闭时保存更改。此外,为了更好地与自定义小部件通信,请将Process Values设置为最小值100。
当我们完成我们的屏幕和配置验证项目。
以及将所有屏幕保存为HTML以供web访问
通过所有这些步骤,我们完成了我们的ITME项目。
导航到您的ITME web应用程序物理路径。如果你使用本地IIS服务器,这个路径通常是C:\inetpub\wwwroot\ITME81,复制你下载的barcodeReaderServerFiles。
这些将托管在服务器上的cordova文件将帮助我们通过自定义小部件使用本机特性。稍后打开index.html并引用这些脚本:
当我们导航到服务器URL,我们添加平台,我们正在使用的属性查询字符串。
在barcoderreader .js中,我们检查这个属性来知道加载哪个cordova文件(iOS或android)。
现在打开IIS管理器右键单击ITME81应用程序,单击添加虚拟目录:
将“CustomWidget”设置为别名和物理pat设置路径到您的ITME项目(C:\Users\Marko\Documents\InTouch Machine Edition v8.1 Projects\cmbSdkSample在我们的情况下)
请确保您与具有所选路径授权的用户进行连接。
在移动设备上运行Cognex包装应用程序。在服务器URL输入框中插入您的服务器URL,并在查询字符串中发送屏幕和guestuser属性。单击导航按钮,您将被重定向到您的服务器URL (http://192.168.1.103/ITME81?在本例中Screen =header&guestuser=1)。当你点击导航按钮应用程序自动添加平台查询字符串作为属性。
请注意,在您从康耐视包装应用程序导航到服务器URL之前,必须运行您的ITME项目。
有了这个属性,我们调用loadScanner(deviceType,sdk_key)方法,这是我们需要做的第一件事,以便使用阅读器设备
有两个输入参数。如果我们想使用MX设备执行扫描,第一个应该是0,如果我们将使用移动设备进行扫描,则应该是1。第二个输入参数是sdk_key,是可选的。只有当我们使用移动设备扫描条形码时,我们才需要设置sdk许可密钥。否则,我们将在条形码阅读器结果中显示星号。
此事件的结果在loadScannerOutputData属性中返回,loadScanner事件作为回调函数被调用
例子:
'为MX设备$loadScannerEventTrigger = "loadScanner(0)"'为移动设备$loadScannerEventTrigger = "loadScanner(1, SDK_KEY)"
有了这个属性,我们调用connect()方法来连接我们的阅读器设备,应该在加载阅读器设备后调用。
此事件的结果在connectOutputData属性中返回,连接事件作为回调函数被调用。
例子:
$connectEventTrigger = "connect()"
使用此属性,我们调用disconnect()方法来释放与阅读器设备的连接
此事件的结果在disconnectOutputData属性中返回,断开连接事件作为回调函数调用。
例子:
$disconnectEventTrigger = "disconnect()"
有了这个属性,我们调用setPreviewContainerPositionAndSize(startPointX, startPointY, width, height)方法,它有4个输入参数。startPointX, startPointY, width和height,它们的单位是%。
这应该在loadScanner方法之前被调用,我们使用它来放置移动设备预览容器。
例子:
预览容器位于0,0(左,上)100%右,30%下。$setPreviewContainerPositionAndSizeEventTrigger = "setPreviewContainerPositionAndSize(0,0,100,30)"
使用此属性,我们调用toggleScanner()方法来启动/停止扫描进程。
例子:
$toggleScannerEventTrigger = " toggleScanner() "
要启用/禁用符号,我们使用该属性触发setSymbologyEnabled(p1, p2, p3..)方法。作为输入参数,我们设置符号和状态。我们可以在一次调用中启用/禁用一个或多个符号。
符号列表:UNKNOWN, DATAMATRIX, QR, C128, UPC-EAN, C11, C39, C93, I2O5, CODABAR, EAN-UCC, PHARMACODE, MAXICODE, PDF417, MICROPDF417, DATABAR, POSTNET, PLANET, 4STATE-JAP, 4STATE-AUS, 4STATE-UPU, 4STATE-IMB, VERICODE, RPC, MSI, AZTECCODE, DOTCODE, C25, C39- convert - to - c32, OCR, 4STATE-RMC。
此事件的结果在setSymbologyEnabledOutputData属性中返回,setSymbologyEnabled事件作为回调函数被调用。
例子:
$setSymbologyEnabledEventTrigger = "setSymbologyEnabled(数据矩阵ON, C128 OFF)"
通过触发setLightsOn(p1)方法,我们可以在开始使用该属性扫描时默认启用/禁用light。作为输入参数,如果我们想要启用,我们设置为ON,如果我们想要禁用,我们默认设置为OFF。
此事件的结果在setLightsOnOutputData属性中返回,setLightsOn事件作为回调函数被调用。
例子:
$ setlighttsoneventtrigger = " setLightsOn(ON) "
为了检查灯光是否默认启用,我们触发isLightsOn()方法
此事件的结果在isLightsOnOutputData属性中返回,并且isLightsOn事件作为回调函数被调用。
例子:
$isLightsOnEventTrigger = " isLightsOn() "
有了这个属性,我们调用sendCommand(p1, p2, p3…)方法来执行被设置为输入参数的DMC命令。我们可以设置一个或多个dmc命令作为输入参数。
此事件的结果在sendCommandOutputData属性中返回,sendCommand事件作为回调函数被调用
例子:
$sendCommandEventTrigger = " sendCommand (GET BATTERY.CHARGE) "
表示当前阅读器连接状态的整数属性。有四种状态:
0 - connection_state_disconnected
1 - connection_state_connecting
2 - connection_state_connected
3 - connection_state_disconnecting
包含上次扫描结果的字符串属性
如果读取器设备可用则为true,如果读取器设备不可用则为false。
布尔属性,该属性在扫描活动时为true,在扫描停止时为false。
当loadScanner方法执行时,如果阅读器设备无法加载,它将返回成功消息或错误消息。
当connect方法执行时,如果连接成功则返回true,如果连接无法完成则返回错误消息
当disconnect方法执行时,如果在我们执行该方法时出现问题,它将返回成功消息或错误消息
在这个属性中,我们返回isSymbologyEnabled方法的结果。如果某些符号被启用,结果将是ON,如果被禁用,结果将是OFF,如果在我们执行这个方法时抛出一些错误,结果将是错误消息。由于isSymbologyEnabled方法可以有多个参数,我们将返回以“,”分隔的符号状态。例如,如果我们调用$isSymbologyEnabledEventTrigger = "isSymbologyEnabled(DataMatrix, C128)",如果两个符号都启用,结果将是" ON,ON "。
注意,默认情况下,如果我们使用移动设备,没有启用任何符号。
isLightsOn方法的结果,如果启用了light,则显示ON,如果禁用了light,则显示OFF,如果执行此命令时发生了错误,则显示错误消息
字符串属性,表示sendCommand()方法的结果。如果有多个DMC命令作为输入参数,每个命令的结果都会用“,”分隔。
例如,如果我们调用$sendCommandEventTrigger = " sendCommand (GET BATTERY. exe) "CHARGE, GET LIGHT.INTERNAL-ENABLE) "结果将是" 50,OFF "
setLightsOn方法的结果,如果启用了light,可以是ON,如果禁用了light,则可以是OFF,如果执行该命令时发生了错误,则会有错误消息
在这个属性中,我们返回setsymbolologyenabled方法的结果。如果某些符号被启用,结果将是ON,如果被禁用,结果将是OFF,如果在我们执行这个方法时抛出一些错误,结果将是错误消息。由于setSymbologyEnabled方法可以有多个参数,我们将返回以“,”分隔的符号状态。例如,如果我们调用$setSymbologyEnabledEventTrigger = "setSymbologyEnabled(DataMatrix, C128)",如果两个符号都启用,结果将是" ON,ON "。
$sendCommandEventTrigger = "sendCommand(p1, p2, p3…)"
$isLightsOntEventTrigger = "isLightsOn()"
这个回调事件将在setLightsOn方法被触发并完成时执行:
$isSymbologyEnabledEventTrigger = "isSymbologyEnabled(p1,p2,p3,.....)"
此回调事件将在setSymbologyEnabled方法被触发并完成时执行:$setSymbologyEnabledTrigger = " setsymbolologyenabled (p1,p2,p3,.....)"
这个回调事件将在disconnect方法被触发并完成时执行:
这个回调事件将在connect方法被触发并完成时执行:
$loadScannerEventTrigger = "loadScanner(0)"
$toggleScannerEventTrigger = "toggleScanner()"
当MX Device的可用性发生变化时,将执行此回调事件。
当条形码被扫描时,这个回调事件将被执行
当阅读器连接状态发生变化时,将执行此回调事件