在这个维基页面中,我们将解释如何使用我们的cmbSDK槽cordova插件作为自定义小部件在ITME项目
打开ITME Studio并创建新项目
设置项目分辨率
进入Project Explorer的全局部分,打开项目标签 - >数据表视图并插入我们将使用的项目标签。我们将在本节稍后解释每个标签
所有标记都是本地的,对标记值的更改只影响更改所处的站点。
回到“图形”部分,右键单击“屏幕”类别,然后单击“插入”
设置屏幕属性,按“OK”。
设计您的标题屏幕并将其命名为标题。
这里我们有标题文本,标签,我们将显示阅读器设备电池水平和智能消息对象,显示当前的阅读器设备连接状态。
在标题屏幕中,我们将添加我们的barcoderreader自定义小部件。
单击自定义小部件图标
单击“导入”,找到“arcodeReader.cwp文件”。BarcodeReader应显示为可用的小部件。选择它,然后单击“确定”。
BarcodeReader自定义窗口小部件在标题屏幕中添加
打开barcoderreader属性并进入小部件成员
使用项目标记映射自定义小部件的属性,并设置要在回调事件中执行的动作set +Get和set脚本。
然后打开头屏幕脚本,并在头屏幕打开时调用setPreviewContainerPositionAndSizeEventTrigger和loadScanner方法。同时打开另一个屏幕(主屏幕)。
现在创建另一个屏幕并将其命名为主要。
在这个屏幕中,我们有显示扫描结果的矩形,按钮开始/停止扫描和按钮清除显示的结果。
稍后右键单击“屏幕组”类别并创建“启动”屏幕组。
打开Project属性并将该组设置为Startup屏幕。
因为我们想部署这个应用程序作为HTML web界面和从移动设备交互,我们需要打开移动访问菜单至少一个,并在关闭时保存更改。此外,为了更好地与自定义小部件通信,将Process Values设置为最小值100。
当我们完成我们的屏幕和配置验证项目。
并将所有屏幕保存为Web Access的HTML
通过所有这些步骤,我们完成了ITME项目。
导航到ITME Web应用程序物理路径。如果您通常使用本地IIS服务器,则此路径是C:\ InetPub \ wwwroot \ Itme81,并复制您下载的BarcodeReaderServerFiles。
这些将托管在服务器上的cordova文件将帮助我们通过自定义小部件使用本地特性。稍后打开index.html并引用这些脚本:
当我们导航到Server URL时,我们添加了我们在查询字符串中使用的平台。
使用barcodeReader.js,我们检查此属性以了解要加载哪些Cordova文件(iOS或Android)。
现在打开IIS Manager右键单击您的ITME81应用程序,然后单击“添加虚拟目录”:
将“CustomWidget”设置为别名和ITME项目的物理pat设置路径(C: Users\Marko\Documents\InTouch Machine Edition v8.1 Projects\cmbSdkSample)
请确保与对所选路径具有授权的用户进行连接。
在移动设备上运行Cognex包装应用程序。在服务器URL输入框中插入您的服务器URL和查询字符串发送屏幕和guest用户属性。点击导航按钮,您将被重定向到服务器URL (http://192.168.1.103/ITME81?在我们的例子中Screen =header&guestuser=1)。当您单击导航按钮时,应用程序自动在查询字符串中添加平台作为属性。
注意,您必须在从康耐克斯包装程序导航到服务器URL之前运行您的ITME项目。
使用此属性,我们调用loadscanner(deviceType,sdk_key)方法,这是我们需要做的第一件事,以便使用读取器设备
有两个输入参数。如果我们使用MX Device执行扫描,第一个应该是0,如果我们使用Mobile Device执行扫描,第一个应该是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()方法来释放读取器设备上的连接
此事件的结果在disconnectoutdata属性中返回,并且断开事件称为回调函数。
例子:
美元disconnectEventTrigger = "断开()"
有了这个属性,我们调用setPreviewContainerPositionAndSize(startPointX, startPointY, width, height)方法,它有4个输入参数。startPointX, startPointY,宽度和高度,它们以%为单位。
这应该在loadScanner方法之前调用,我们使用它来放置移动设备预览容器。
例子:
'预览容器位于0,0(左,顶部)100%右侧和30%底部。$ setpreviewcontainerpositionandsizeeventtrigger =“setPreviewContainerPositionAndsize(0,0,100,30)”
通过这个属性,我们调用togescanner()方法来启动/停止扫描过程。
例子:
美元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 -日本,4STATE-AUS, 4STATE-UPU, 4STATE-IMB, VERICODE, RPC, MSI, AZTECCODE, DOTCODE, C25, C39- convert - to - c32, OCR, 4STATE-RMC。
此事件中的结果在SetSymbologyEnableData属性中返回,并且SetyymbologyEnabled事件称为回调函数。
例子:
$ setyymbologyenableDeventTrigger =“SetyymbologyEnabled(DataMatrix On,C128 OFF)”
通过触发setLightsOn(p1)方法,当我们开始扫描这个属性时,我们可以将light设置为默认启用/禁用。作为输入参数,如果我们想要启用光,我们设置ON,如果我们想要禁用光,我们设置OFF。
这个事件的结果在setLightsOnOutputData属性中返回,setLightsOn事件作为回调函数调用。
例子:
美元setLightsOnEventTrigger = " setLightsOn(上)
要检查默认情况下是否启用了灯,我们触发了Islialson()方法
此事件的结果在IslialSonOutputdata属性中返回,并且Islialson事件称为回调函数。
例子:
$ islightsoneventtrigger =“Islialson()”
使用这个属性,我们调用sendCommand(p1, p2, p3…)方法来执行设置为输入参数的DMC命令。我们可以设置一个或多个dmc命令作为输入参数。
此事件的结果在sendcommandutputdata属性中返回,并且sendcommand事件称为回调函数
例子:
$ sendcommandeventtrigger =“sendcommand(获得电池.charge)”
表示当前读取器连接状态的整型属性。有四种状态:
0 - CONNECTION_STATE_DISCONNECTED
1 - connection_state_connecting.
2 - CONNECTION_STATE_CONNECTED
3 - CONNECTION_STATE_DISCONNECTING
字符串属性包含上次扫描结果
Boolean属性,当读取器设备可用时为true,如果读取器设备不可用则为false。
Boolean属性,当扫描活动时为true,当扫描停止时为false。
当loadScanner方法被执行时,如果阅读器设备无法加载,它会返回成功消息或错误消息。
执行Connect方法时,如果连接成功或错误,则返回True如果无法完成连接
执行断开方法时,如果在执行此方法时出现问题,则返回成功消息或错误消息
在这个属性中,我们从issymologyenabled方法返回结果。如果启用了某些符号,则Result为ON,如果禁用了则为OFF,如果执行此方法时抛出了一些错误,则返回错误消息。由于isSymbologyEnabled方法可以有多个参数,我们将返回符号状态用“,”分隔。例如,如果我们调用$isSymbologyEnabledEventTrigger = "isSymbologyEnabled(DataMatrix, C128)"结果将是" ON,ON ",如果两个符号都是启用的。
请注意,默认情况下,如果我们使用移动设备,则没有启用符号素质。
从isLightsOn方法的结果,可以是ON如果灯是启用的,OFF如果是禁用的,或错误消息,如果发生了错误,而此命令被执行
表示sendCommand()方法的结果的字符串属性。如果有多个DMC命令作为输入参数,每个命令的结果将用“,”分隔。
例如,如果我们调用$sendCommandEventTrigger = " sendCommand (GET BATTERY。结果将是“50,OFF”
从setLightsOn方法的结果,可以是ON,如果灯是启用的,如果是关闭,或错误消息,如果发生了错误,而此命令被执行
在这个属性中,我们从setsymologyenabled方法返回结果。如果启用了某些符号,则Result为ON,如果禁用了则为OFF,如果执行此方法时抛出了一些错误,则返回错误消息。因为setSymbologyEnabled方法可以有多个参数,我们将返回符号状态用“,”分隔。例如,如果我们调用$setSymbologyEnabledEventTrigger = "setSymbologyEnabled(DataMatrix, C128)"结果将是" ON,ON ",如果两个符号都是启用的。
当sendCommand方法被触发并完成时,这个回调事件将被执行:
当isLightsOn方法被触发并完成时,这个回调事件将被执行:
当setLightsOn方法被触发并完成时,这个回调事件将被执行:
当isSymbologyEnabled方法被触发并完成时,这个回调事件将被执行:
当setSymbologyEnabled方法被触发并完成时,这个回调事件将被执行:
当disconnect方法被触发并完成时,这个回调事件将被执行:
将在Connect方法触发和完成时执行此回调事件:$ connecteventtrigger =“connect()”
当loadScanner方法被触发并完成时,这个回调事件将被执行:
'这个回调事件将在togescanner方法被触发并完成时执行:
当MX Device的可用性改变时,这个回调事件将被执行。
当扫描条形码时,将执行此回调事件
当读取器设备的连接状态更改时,将执行此回调事件