PLC的高低字节转换
PLC的寄存器分为单字(Word)和双字(Dword),Word占用2个字节Byte,Dword占用4个字节Byte;
在PLC和其他设备通讯往往以字节为单位进行传送的,根据不同的通讯协议,传送所发的内容不一致,其中有些协议需要进行前后字节交换,向常见的PLC,三菱,汇川等日系PLC有专门的指令SWAP来进行转换;例如寄存器 A:=16#AABB,经过SWAP指令后,A=16#BBAA
Codesys编程和传统的PLC编程不一样,Codesys编程是属于一种面向对象的编程方式,使用起来比较具有灵活性,可以根据自己的编程习惯风格来进行编程程序;下面举例如何使用Codesys来进行编写SWAP指令;
新建Codesys文件,设备选择V3-X64,编程语言支持6种,这里举例仅使用结构化文本ST;
在变量声明区先定义程序中要出现的变量,然后在程序执行区编写运行的程序;
代码如下:
---------------------------------------变量声明区--------------------------------------------------------------------------
PROGRAM PLC_PRG//程序名字
VAR
//
IN :WORD;//IN是变量名称, WORD是变量变量类型
OUT :WORD;
END_VAR
---------------------------------------程序执行区-------------------------------------------------------------
OUT :=IN/256 (IN MOD 256)*256;
(*
16位数据除以256,即将16位数据的高低8位自动分开。
例如原数值是;2#1111111100000000,转换成10进制就是 65280,转换出16进制就是FF00.
将该数值除以256和取余256,结果分别是 数值的高8位(整数),和数值的低8位(余数)
再将余数乘以256 整数得出的新数据就是高低字节转换后的数值;
*)
------------------------------------------------仿真----------------------------------------------------------------
在在线选项找那个选择仿真模式,当软件最低下出线仿真的时候,点击登录,然后在弹出的界面选择确认;
点击程序声明区的准备值,右键将显示模式更改成16进制,然后输入当前值16#AABB,然后点击调试写入值即可进行仿真;
需要学习PLC(三菱,西门子,汇川,禾川,信捷,台达,松下,欧姆龙,Codesys)可以在评论区留言;
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfjheke
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01