三菱plcascll转换16进制_关于三菱PLC与变频器ASCII通讯的讲解
说明:
1、本文档注释说明了三菱 PLC 用 RS 进行ASCII 通讯的一个案例
2、本实例使用PLC为为三菱 Fx-3G系列,变频器为三菱通用变频器 FR-D700 系列
3、本实例内容原创,转载注明出处后,可随意分享使用
先展示一下代码,然后分析代码,依次详细讲解
RS指令解释
RS D10 D50 D100 K20
D10 为发送数据的起始地址,D10后续的连续地址依次为 D11、D12........
D50 表示发送的数据个数,D50的值为12,因此一共发送12个字的数据,即发送 D10~D21中存储的数据个数
D100 表示通讯接收变频器的数据起始地址
K20 表示 接收数据的地址数位20个字,即接收数据存储于 D100~D119 中
ASCI指令解释
ASCI D141 D16 K4
将D141参数转换成4个字的ASCII码存入到 D16,D17,D18,D19 中
例如 D141 的值为 1234,则 D16~D19的值如下表所示
~
通讯发送了哪些数据?
PLC与变频器的通讯就像人与人之间对话一样,是一个信息交互的过程,就像发电报一样,
报头,即一条信息,一条报文的标题,意思告诉对方信息开始发送了,接下来是报文信息
报文,是要表达的实际数据内容
报尾,一般用来校验发送的报文数据是否正确,用来告诉对方,我发送的数据已经完成了。
例如程序中 M140 = ON ,D141=1234时,PLC 发送了 D10~D21中存储的数据,一共12个字
P0子程序中D20与D21的解释
D50=12时候,则D51=9,即发送的数据个数去掉1个字的报文、再去掉2个字的报尾巴,剩下就是报文的字个数为9位
通过执行 for 指令循环 依次对 D11Z0 地址进行累加,值存储于 D52中
Z0 是个变量,可以视为当前循环次数的指针,从1依次递增到9,所以 D11Z0 最终指向D11-D19的数据地址
下面进行for循环的演示:
比如 D52初始值为 0
第1次循环开始,Z0=0,则 D11Z0 代表的地址值即 D11的值,D52 = D11,循环结束Z0自增1,Z0的值为2
第2次循环开始,Z0=1,则 D11Z0 表示D12中的值,D52 = D11+D12,Z0=3
。。。
第9次循环开始,Z0=8,则 D11Z0 表示 D19中的值,D52 = D11+D12+。。。+D19,Z0=9
由上可以看出,D52最终的值在for循环结束后即D11-D19的值之和,我们称之为和校验,
校验用来告诉信息接收方进行报文的数据验证信息,如果报文在通讯过程中受干扰或丢失,则校验和便会出错
循环结束后,Z0的值为9,此时 D11Z0 表示 D20 中的值
因此 ASCII D52 D11Z0 K2 此时可以理解为 ASCII D52 D20 K2,
这个for循环的累加过程 数学表示如下 :
(先写到这,如过有疑问,欢迎留言,再解答)
三菱plcascll转换16进制_关于三菱PLC与变频器ASCII通讯的讲解相关推荐
- 三菱plcascll转换16进制_三菱FX系列PLC的SER指令使用方法
(1)三菱PLCFX系列的八进制数据传送指令 八进制数据传送指令(D)PRUN(P)(FNC81)是用于八进制数的传送.当X10为ON时,将X0-X17内容送至M0-M7和M10-M17(因为X为八进 ...
- 三菱plcascll转换16进制_十六进制转换为ascii码
//函 数 名:CharToHex() //功能描述:把ASCII字符转换为16进制 //函数说明: //调用函数: //全局变量: //输 入:ASCII字符 //返 回:16进制 /**funct ...
- 三菱plcascll转换16进制_S7-200PLC ASCII码与十六进制数之间的转换指令及其使用
摘要:ASCII码与十六进制数之间的转换指令指令格式和功能如表1所示.表1 ASCII码与十六进制数之间转换指令的格式和功能LADSTLATH IN,OUT,LENHTA IN,OUT,LEN操作数及 ...
- C# 数字转16进制和字符串转换16进制
数字转换16进制.前提是你输入的必须是数字,而不是别的东西. private string StringToHexString(string s)//数字转换16进制{long Num = Conve ...
- JS 字符串转换16进制
1.字符串转换UTF8字节 function strToUtf8Bytes(str) {const utf8 = [];for (let ii = 0; ii < str.length; ii+ ...
- java串口发送16进制_串口发送数据——字符串发送与十六进制发送的区别
在计算机中,数据是以二进制的形式存储的,例如十进制 1(10)在计算机中用 0000 0001(2)来表示.我们在用串口发送数据的时候首先将待数据转换为对应的ASCII码,然后再将这些ASCII码按照 ...
- 【蓝桥杯】python进制转换16进制转8进制。16进制转10进制。10进制转16进制。
问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 样例输入 2 39 123ABC 样例输出 71 4435274 n = int(input()) #输入一个正整数n,表示n个十六进制正整 ...
- shell 中转换16进制10进制
2012年10月10日 17:28:55 帝都码农 阅读数 12150 标签: shell 更多 个人分类: shell 一.16进制转换成10进制 printf %d 0xF 15 或者 echo ...
- 使用 Shell 运算进行进制转换 16进制转10进制
使用 Shell 运算进行进制转换 工作时候常常遇到一些问题,拿到的数字是16进制的,但是运算的时候是10进制的,shell可以很方便的处理这类的进制转换问题,一种情况是使用 Shell 运算把一个数 ...
最新文章
- mysql在mac下的data目录_Mysql在mac中目录结构用法命令
- 数字n,按字典排序,找出第k小的数字
- Excel 打开csv显示在一个单元格
- 分隔线演练-利用参数增加分隔线的灵活度
- iOS执行时工具-cycript
- 什么? 搞不定redis分布式锁?
- 【java】RMI教程:入门与编译方法 远程
- WiFi抓包图形化版本
- 百度云盘不限速下载大文件(2021-11亲测有效)
- gradle下载慢的问题
- 计算机上怎么带源地址ping,如何带源地址ping
- 怎么制作升温曲线图_如何在EXcel做体温曲线图
- 计算机二级考过律,计算机二级考试考完后的这些事情你知道吗?
- 【爬虫】爬取个人随手记账户
- Excel教程之什么是好的仪表板工具
- 安卓九宫格上传图片(微信朋友圈,QQ动态)小demo
- Unity学习记录:制作双屏垃圾分类小游戏
- 宇宙精密调治的再思《基督教与科学》第二十三课
- 计算机科学发展有关的事,计算机科学前沿热点及发展趋势 计算机前沿技术论文.doc...
- 3000字干货!如何做好一个BI项目的规划和需求定义?
热门文章
- 跳频扩频通信系统的设计及simulink仿真
- 山东500分学计算机,2017山东500分左右的理科大学
- 开源html5小游戏6,html5简易小游戏 - strip_liu的个人空间 - OSCHINA - 中文开源技术交流社区...
- 关于高性能服务器底层网络通信模块的设计方法
- 让你眼前一亮的算法优化技巧总结!!!
- linux调整屏幕位置,怎么消除linux下的屏幕偏移现象和调整屏幕刷新率?
- svr代码matlab,matlab解决svr代码.docx
- 日语常用口语(日常总结)
- 读书笔记:微积分的历程-从牛顿到勒贝格
- 如何从外贸B2B平台中开发出更多客户