- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
昆昆仑仑通通态态⼈⼈机机界界⾯⾯与与单单⽚⽚机机通通信信实实战战教教程程⼆⼆::脚脚本本驱驱动动的的设设计计
⼤家好,我是芯知识学堂』的SingleYork,前⾯给⼤家介绍了“昆仑通态⼈机界⾯与单⽚机通信实战教程⼀:⼯程界⾯的设计”,今天笔者就要来给⼤家介绍“昆仑通态⼈机界⾯与单⽚机通信实战教程⼆:脚本驱动的
其实昆仑通态的软件也⾃带了很多标准设备的驱动,如:西门⼦PLC的驱动、三菱PLC的驱动等,直接加载驱动就可以⽤了,但是对于我们⾃⼰开发的单⽚机板的话,就需要⾃⼰编写驱动了。⼀说到脚本驱动,⾃然
⽀持标准的modbus协议,也⽀持⾃定义协议,对于我们这些不是很复杂的设备来说,个⼈觉得,没必要去深⼊研究modbus协议,尤其是菜鸟,⾃定义协议可能会更加实⽤,所以,笔者重点给⼤家介绍“⾃动义协议”。
我们先来看⼀下,我们之前设计好的HDMI⼯程:
从这个HDMI⼯程中我们可以看到,⼀共有14个输⼊状态、12个输出状态和12个输出控制,其中:
14个输⼊状态可以⽤2个字节(BYTE),按位操作来实现状态的显⽰;
12个输出状态也可以⽤2个字节(BYTE),按位操作来实现状态的显⽰;
12个输出控制,我们可以也可以⽤2个字节(BYTE)来按位控制,也可以⽤12个BYTE来按控制,只是按位操作来控制的话,可能操作会⿇烦⼀些,为了操作简单,我们就⽤12个BYTE来实现控制吧;
这样⼀来,我们就可以制定以下通信协议:
(1)触摸屏读指令(x8:⼀次性读取多个数据)
格式(⼗六进制):
主机发送(触摸屏):帧头(2)+长度(1)+功能码(1)+起始地址(2)+和校验(从长度位开始累加)
从机应答(单⽚机):帧头(2)+长度(1)+功能码(1)+数据⼀(输⼊状态⼀:X-X7)+数据⼆(输⼊状态⼆:X1-X17)+数据三(输出状态⼀:Y-T7))+数据四(输出状态⼆:Y1-X17)+和校验(
例:
主机发送:37734884
从机返回:5AA56886
(2)触摸屏写指令(x81:写单个寄存器操作)
格式(⼗六进制):
主机发送(触摸屏):帧头(2)+长度(1)+功能码(1)+寄存器地址(2)+寄存器值(2)+和校验(从长度位开始累加)
例:3773681188
写指令从机就不设置单独的返回指令了,在写完之后,可以通过读指令来查询状态来判断有没有写成功。
当然咯,笔者这⾥仅仅只是给⼤家演⽰了⼀个⽐较简单的通信协议,⼤家可以根据⾃⼰的实际项⽬需求去完善通信协议,这个就需要仁者见仁智者见智了。
好了,有了通信协议,我们就可以来开始写脚本驱动了,⾸先,我们安装⼀下“MCGS脚本驱动开发⼯具”,同样,这个⼯具的安装⾮常简单,笔者就不赘述了,⼤家直接到下⾯链接下载安装即可:
链接:/s/1CAoQ7AO7nl93eBggdfrwzg
安装完成之后,我们⿏标右键单击桌⾯图标
,“以管理员⾝份运⾏”(双击打开新建⼯程会出现⼀些奇怪的问题,可能跟系统也有关系吧)打开“MCGS脚本驱动开发⼯具”,并新建⼀个⼯程(选择“不使⽤向导新建⽴⼯程”):
然后,在弹出的选项中,输⼊设备名为:昆仑通态屏与单⽚机通信演⽰,设备注释可以不写,设备类型选择“⼦设备”,界⾯类型选择“⾼级”:
设置完成后,点击“确定”按钮,⼀个新的⼯程就设置好了,然后就会出现如下界⾯:
到这⾥,我们先把新建的⼯程保存⼀下,避免意外情况导致数据丢失⼜要重新弄,笔者之前就遇到过好⼏次突然停电的情况,结果有些东西忘记保存了,来电之后⼜要重新弄,⽐较⽓⼈哈……所以我们要养成良好的
接下来,我们先把新建的这个⼯程⾥⾯的⼀些⾃带的内容删掉,⽐如,“设备通道”⾥的⾃带的AI1-AI8,“设备脚本”-“采集脚本”⾥⾯的⼀些脚本内容,等。当然咯,我们也可以在⾃带的内容基础上做修改,笔者这⾥
删除吧:
好了,该删的删完了,我们就可以来添加⾃⼰需要的东西了!⾸先,我们从前⾯知道,HDMI⼯程中需要显⽰14个输出状态和12个输出状态,⽽且都是⽤位变量来控制,那么,我们就先来添加这26个状态需要⽤到的
通道”,在弹出的选项中选择“添加”:
这个时候,我们可以选择⼀次只添加⼀个通道,或者⼀次性添加多个通道,同时要注意,我们的“通道类型”要选择“整数”,实际上我们本来应该要选择“位变量”的,但是很遗憾,没有这个选项,下拉框⾥只有“整数”和“
知:
如果我们这⾥需要
文档评论(0)