• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

PLC的高低字节转换

武飞扬头像
Zwjfst
帮助1

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
系列文章
更多 icon
同类精品
更多 icon
继续加载