在这个维基页面中,我们将解释如何使用我们的cmbSDK槽cordova插件作为自定义小部件在ITME项目
打开ITME Studio并创建新项目
设置项目分辨率
进入项目资源管理器的全局部分,打开项目标签->数据表视图,插入我们将使用的项目标签。我们将在本节的后面解释每个标记
所有标记都是本地标记,对标记值的更改仅影响进行更改的桩号。
返回图形部分,右键单击屏幕类别并单击插入
设置屏幕属性,按“OK”。
设计标题屏幕并将其命名为标题。
在这里,我们有标题文本、标签,其中我们将显示读卡器设备电池电量和显示当前读卡器设备连接状态的智能消息对象。
在标题屏幕中,我们将添加我们的barcoderreader自定义小部件。
单击自定义小部件图标
单击导入并找到您的条形码阅读器。cwp文件。barcoderreader应该显示为可用的小部件。选择它并单击OK。
标题屏幕中添加了barcoderreader自定义小部件
打开条形码阅读器属性并进入小部件成员
使用项目标记映射自定义小部件的属性,并设置要在回调事件中执行的操作集+获取和设置脚本。
然后打开头屏幕脚本,并在头屏幕打开时调用setPreviewContainerPositionAndSizeEventTrigger和loadScanner方法。同时打开另一个屏幕(主屏幕)。
现在创建另一个屏幕并将其命名为main。
在这个屏幕中,我们有一个显示扫描结果的矩形,启动/停止扫描的按钮和清除显示结果的按钮。
稍后右键单击屏幕组类别并创建启动屏幕组。
打开项目属性并将此组设置为启动屏幕。
因为我们希望将此应用程序部署为HTML web界面并从移动设备进行交互,所以我们需要至少打开一个移动访问菜单并在关闭时保存更改。此外,为了更好地与自定义小部件通信,请将进程值设置为最小值100。
当我们完成屏幕和配置时,验证项目。
和保存所有屏幕为网页访问的HTML
通过所有这些步骤,我们完成了ITME项目。
导航到您的ITME web应用程序物理路径。如果你使用本地IIS服务器,通常这个路径是C:\inetpub\wwwroot\ITME81,复制你下载的barcodeReaderServerFiles。
这些托管在服务器上的cordova文件将帮助我们通过自定义小部件使用本机功能。稍后打开index.html并引用以下脚本:
当我们导航到服务器URL时,我们在查询字符串中添加了作为属性的平台。
在barcoderreader .js中,我们检查这个属性来知道要加载哪个cordova文件(iOS还是android)。
现在打开IIS管理器,右键单击ITME81应用程序,然后单击Add Virtual Directory:
将“CustomWidget”设置为ITME项目的别名和物理路径(在本例中为C:\Users\Marko\Documents\InTouch Machine Edition v8.1 Projects\cmbSdkSample)
请确保与对所选路径具有授权的用户进行连接。
在移动设备上运行Cognex包装应用程序。在服务器URL输入框中插入服务器URL,并在查询字符串中插入send screen和guestuser属性。单击导航按钮,您将被重定向到您的服务器URL(htttp://192.168.1.103/ITME81?screen=header&guestuser=1 就我们而言)。当您单击导航按钮时,应用程序会自动将平台添加到查询字符串中作为属性。
注意,您必须在从康耐克斯包装程序导航到服务器URL之前运行您的ITME项目。
使用这个属性,我们调用loadScanner(deviceType,sdk_key)方法,这是为了使用reader设备我们需要做的第一件事
有两个输入参数。如果要使用MX设备执行扫描,则第一个值应为0;如果要使用移动设备执行扫描,则第一个值应为1。第二个输入参数是sdk_key,它是可选的。只有在使用移动设备扫描条形码时,我们才需要设置sdk许可证密钥。否则,我们将在条形码阅读器结果中显示星号。
此事件的结果在loadScannerOutputData属性中返回,loadScanner事件被称为回调函数
例子:
'For MX Device $ loadscanereventtrigger = "loadScanner(0)"'For Mobile Device $ loadscanereventtrigger = "loadScanner(1, SDK_KEY)"
使用这个属性,我们调用connect()方法来连接读卡器设备,并且应该在加载读卡器设备后调用。
此事件的结果在connectOutputData属性中返回,连接事件称为回调函数。
例子:
美元connectEventTrigger = " connect () "
通过这个属性,我们调用disconnect()方法来释放读取器设备上的连接
此事件的结果在disconnectOutputData属性中返回,并将disconnect事件作为回调函数调用。
例子:
美元disconnectEventTrigger = "断开()"
使用此属性,我们调用setPreviewContainerPositionAndSize(startPointX、startPointY、width、height)方法,该方法有4个输入参数。起点X、起点Y、宽度和高度,以%为单位测量。
这应该在loadScanner方法之前调用,我们使用它来放置移动设备预览容器。
例子:
“预览容器,定位在0,0(左,上)100%右,30%底。美元setPreviewContainerPositionAndSizeEventTrigger = " setPreviewContainerPositionAndSize(30 0 0100)”
使用此属性,我们调用toggleScanner()方法来启动/停止扫描过程。
例子:
$toggleScannerEventTrigger=“toggleScanner()”
要启用/禁用符号,我们使用此属性触发setSymbologyEnabled(p1、p2、p3..)方法。作为输入参数,我们设置符号和状态。我们可以在一次调用中启用/禁用一个或多个符号。
符号列表:未知、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、4STATE-RMC。
此事件的结果在setsymologyenabledoutputdata属性中返回,setsymologyenabled事件作为回调函数调用。
例子:
$setSymbologyEnabledEventTrigger = "setSymbologyEnabled(DataMatrix ON, C128 OFF)"
通过触发setLightsOn(p1)方法,当我们开始扫描这个属性时,我们可以将light设置为默认启用/禁用。作为输入参数,如果我们想要启用光,我们设置ON,如果我们想要禁用光,我们设置OFF。
此事件的结果在setLightsOnOutputData属性中返回,setLightsOn事件作为回调函数调用。
例子:
美元setLightsOnEventTrigger = " setLightsOn(上)
为了检查灯光是否在默认情况下被启用,我们触发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-连接\状态\断开
包含最后一次扫描结果的字符串属性
布尔属性,如果读卡器设备可用,则为true;如果读卡器设备不可用,则为false。
布尔属性,当扫描处于活动状态时为true,当扫描停止时为false。
当loadScanner方法被执行时,如果读卡器设备无法加载,它将返回成功消息或错误消息。
当connect方法被执行时,如果连接成功则返回true,如果连接无法完成则返回错误消息
当disconnect方法被执行时,如果在执行此方法时出现问题,它将返回成功消息或错误消息
在这个属性中,我们从issymologyenabled方法返回结果。如果启用了某些符号,则Result为ON,如果禁用了则为OFF,如果执行此方法时抛出了一些错误,则返回错误消息。由于isSymbologyEnabled方法可以有多个参数,我们将返回符号状态用“,”分隔。例如,如果我们调用$isSymbologyEnabledEventTrigger = "isSymbologyEnabled(DataMatrix, C128)"结果将是" ON,ON ",如果两个符号都是启用的。
注意,默认情况下,如果我们使用移动设备,没有启用符号。
isLightsOn方法的结果,该方法可以在灯光启用时打开,在灯光禁用时关闭,或者在执行此命令时出现错误时显示错误消息
表示sendCommand()方法结果的字符串属性。如果有多个DMC命令作为输入参数,则每个命令的结果将用“,”分隔。
例如,如果我们调用$sendCommandEventTrigger=“sendCommand(获取电池电量,获取灯光。内部启用)”结果将是“50,关闭”
从setLightsOn方法的结果,可以是ON,如果灯是启用的,如果是关闭,或错误消息,如果发生了错误,而此命令被执行
在这个属性中,我们从setSymbologyEnabled方法返回结果。如果启用了某些符号,结果将为ON;如果禁用,结果将为OFF;如果在执行此方法时引发了一些错误,结果将为错误消息。由于setSymbologyEnabled方法可以有多个参数,我们将返回以“,”分隔的符号状态。例如,如果我们调用$setSymbologyEnabledEventTrigger=“setSymbologyEnabled(DataMatrix,C128)”如果两个符号都启用,结果将是“开,开”。
触发并完成sendCommand方法时将执行此回调事件:$sendCommandEventTrigger=“sendCommand(p1、p2、p3…)
当isLightsOn方法被触发并完成时,这个回调事件将被执行:
当setLightsOn方法被触发并完成时,这个回调事件将被执行:
当isSymbologyEnabled方法被触发并完成时,这个回调事件将被执行:
当触发并完成setSymbologyEnabled方法时,将执行此回调事件:$setSymbologyEnabledTrigger=“setSymbologyEnabled(p1、p2、p3,…)
触发并完成disconnect方法时将执行此回调事件:$disconnectEventTrigger=“disconnect()”
当connect方法被触发并完成时,这个回调事件将被执行:
当loadScanner方法被触发并完成时,这个回调事件将被执行:
'触发并完成toggleScanner方法时将执行此回调事件:$toggleScannerEventTrigger=“toggleScanner()”
当MX设备的可用性更改时,将执行此回调事件。
扫描条形码时,将执行此回调事件
当读取器设备的连接状态发生改变时,将执行此回调事件