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)可以在评论区留言;

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zwjfst

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值