首页 > 其他分享 >Mitsubishi 三菱FXPLC学习之通信指令(下)

Mitsubishi 三菱FXPLC学习之通信指令(下)

时间:2023-08-04 15:44:05浏览次数:42  
标签:字符 转换 三菱 HEX 指令 FXPLC ASCI Mitsubishi ASCII

  继上篇文章所分享的RS数据传送指令和CCD校验码指令,这次我们接着分享同样受数据处理模式标志继电器M8161控制的ASCI指令和HEX指令。

  ASCI指令和HEX指令是一对互逆的指令,基于十六进制字符与ASCII码之间的转换。ASCII码,我在之前的文章就有简单的介绍过,在这里再简单提一下。

  ASCII码也就是美国信息交换标准代码,它是一组7位(或8位)二进制代码,分别表示0~9的十个代码、大小写字母的52个代码、32个表示各种符号的代码以及34个控制码。而什么字符对应什么ASCII码,我们可以通过查它的编码表得知。例如字符“3”对应的ASCII码为H33,字符“A”对应的ASCII码为H41,这里的3、A是一个字符,而不仅仅是一个数。这就像运动员背后贴的号码布,上面的号码代表的不是数值的大小,而是表示运动员的编号。

  另外,十六进制字符(HEX)我就不再解释,相信大家对它也是相当熟悉了。在知道了什么是HEX和ASCII后,我们开始指令的学习分享吧。

▎01 HEX→ASCII转换指令ASCI

  ASCI指令的作用是将十六进制字符转换为ASCII码。但为什么要将HEX字符转换为ASCII码呢?这其实是通信的内容,ASCII通信模式是MODBUS通信协议的通信模式之一,简单来说,是指在数据传输过程中所传送的字符用ASCII码表示。至于什么是MODBUS通信协议,咳咳,这通信吧,我上篇文章已经说过了,这是我永远滴痛。

  所以,ASCI指令和HEX指令都是用于ASCII通信模式的。即PLC通过ASCI指令将需发送的十六进制数据转换为ASCII码,通过HEX指令将接收到的ASCII码转换为十六进制字符。ASCI指令的编程手册截图如上图15-1所示,和RS指令与CCD指令一样不可用于32位,有连续执行型和脉冲执行型两种。

  其梯形图形式如上图15-2所示,和CCD指令非常相似,也有3个操作数,源址S为HEX字符或存储字元件首址;终址D为ASCII码存储字元件首地址;n为需转换的HEX字符的个数,取值范围为1~256。当驱动条件成立时,将源址S的n个十六进制字符转换为ASCII码并存放到首址为D的寄存器中。

  结合上篇文章,特殊继电器M8161的状态可以将ASCI指令分为16位数据处理模式和8位数据处理模式。

(1)16位数据处理模式

  特殊继电器M8161=OFF,ASCI指令为16位数据处理模式。当驱动条件成立,将以S为首址的寄存器的n个十六进制字符转换为ASCII码,并分别存放到以D为首址的寄存器的高8位和低8位。

  1个16位(二进制位)的寄存器含有4个十六进制字符,如下图15-3所示,每1个十六进制字符转为ASCII码后需占有2个十六进制位(8个二进制位),如D0中低4位组成一个十六进制位H1,将字符“1”转换为ASCII后变成H31,即1→31。

   也就是说,执行指令ASCI D0 D100 K1,已知(D0)=H4321,指令执行完后(D100)=H0031,如下图15-4所示。

   在16位数据处理模式下,终址D对应的寄存器,其高8位也被利用,换句话说,一个D可以存放2个ASCII码。由每个S有4位HEX数据,全部转换为ASCII码就需要2个D。 如下图15-5所示,执行指令ASCI D0 D100 K4,已知(D0)=H4321,指令执行完后(D101)=H3132,(D100)=H3334,其中D100中的“34”为D0中“4”的ASCII码,依次类推。

  这里要注意的是,HEX数据在转换的过程中,最后被转换的会存放在终址D的最低位,例如上例中的十六进制字符“4”对应的ASCII码存放到D100的低8位,这如同一个压栈的过程。而在实际应用中,常采用的是8位数据处理模式。

(2)8位数据处理模式

  特殊继电器M8161=ON,ASCI指令为8位数据处理模式。当驱动条件成立,将以S为首址的寄存器的n个十六进制字符转换为ASCII码,并分别存放到以D为首址的寄存器的低8位,高8位忽略不用。

  此时一个S的4位HEX数据,全部转换为ASCII码就需要4个D寄存器,如下图15-6所示。执行指令ASCI D0 D100 K4,M8161=ON,已知(D0)=H4321,指令执行完后(D100)=H0034,其中D100中的“34”为D0中“4”的ASCII码,高8位作置零处理,依次类推。

  在低8位数据处理模式下,因为1位HEX数据转换为ASCII码就要占用1个寄存器,所以要转换n个字符,就要用到n个占D寄存器,其最高地址为D+n-1。如下图15-7所示,执行指令ASCI D0 D100 K10,n=10,终址D的最高地址为D109(100+10-1),且存放的是最先转换的字符“A”,其ASCII码为H41。

  十六进制字符0~9,A~F对应的ASCII码分别为H30~H39,H41~H46,这个是可以通过查表得知,不过也比较好记。知道了ASCI指令是怎么回事后,再来看HEX指令就显得很简单。

▎02 ASCII→HEX转换指令HEX

  HEX指令的作用是将外围设备向PLC回传的ASCII码转换为HEX数据。其编程手册截图和梯形图形式如下图15-8所示。和ASCI指令一样,HEX指令也有3个操作数,源址S为ASCII码存储字元件首址;终址D为HEX数据存储字元件首地址;n依然是需转换的HEX字符的个数,取值范围为1~256。

  当驱动条件成立时,将源址S的ASCII码转换为n个十六进制字符并存放到首址为D的寄存器中,分为16位和8位数据处理模式。其对数据的处理过程恰好为ASCI指令的逆过程,如下图15-9所示,执行指令HEX D0 D100 K1,(D0)=H0041,ASCII码“H41”对应字符“A”,所以指令执行完毕后,(D100)=H000A。

  可以发现,1个S最多能存2个ASCII码,全部转换为HEX数据只占用D的低8位。换句话说,也就是1个D可以存放2个S的共4个ASCII码。基于ASCI指令讲解的比较详细,HEX指令的16位数据处理模式就不再展开讲解,它是将S的高8位和低8位均作为ASCII码进行转换。

  HEX指令的8位数据处理模式,是指把S为首址的寄存器的低8位数据对于的ASCII码转换为HEX数据并存放到D位首址的寄存器中,此时每转换4个S占用1个D。如下图15-10所示,执行指令HEX D0 D10 K8,M8161=ON,8位数据处理模式,D0~D7的高8位数据均忽略不作处理,仅对其低8位数据进行转换。如D0的低8位为H38,该ASCII码对应的字符为“8”,所以终址D11的高4位就为H8,最先转换的存放在最高位。

  这里要注意的是,S中的数据一定要符合ASCII码的标准才能被转换,如果不是ASCII码,则运算错误。

  ASCI指令和HEX指令还是比较常用的,大家很有必要去理解它们,这次的学习分享虽然没有结合实际的梯形图案例,但还算详细,希望大家在阅读后能有所收获哟。那么,这次的学习分享就到这里。

标签:字符,转换,三菱,HEX,指令,FXPLC,ASCI,Mitsubishi,ASCII
From: https://www.cnblogs.com/ybqjymy/p/17606123.html

相关文章

  • Mitsubishi 三菱FXPLC扫描周期讲解
    一、程序显示奇怪现象二、PLC的工作过程内部处理:系统初始化、软元件复位、进行自诊断以及内部工作任务,检查有没有错误以确保系统可靠运行;通信服务:和外部通信联系,比如电脑软件监控更新显示内容,又如PLC和触摸屏通信,触摸屏上一直刷新显示;输入处理:依次读入所有输入状态和数据,并......
  • Mitsubishi 三菱FX3U的232通信板,与PC串口调试助手通信测试
    在某个项目中,需要用到上位机来控制PLC中的气缸,采用的通信方式是无协议通信,硬件使用FX3U的PLC以及一块FX3U-232C-BD扩展板。具体测试如下所示。01使用硬件 如图所示: 02测试软件03具体步骤1、编写PLC控制程序,如图所示:程序解释:D8120是通信格式设置地址,设置成H0C81(二进制......
  • Mitsubishi FX5U与三菱ROBOT CC‐LINK IEF Basic通讯
    步骤一:新建工程登录配置文件(配置文件可以根据机械手型号跟厂家获取,这里以CR-800机器人为例); 步骤二:CC‐LINKIEFBasic设置 步骤三:远程IO刷新设置 链接侧为机器人;CPU侧为FX5UCPU;1.位元件RX:机器人的输出作为PLC的远程输人即PLCM6000-M6063的状态是随着M_out(6......
  • Mitsubishi 手把手教你FX5U与三菱触摸屏以太网连接
    步骤一:新建工程,进入工程的新建向导,选择机种;步骤二:在工程新建向导的“连接机器设置”中“I/F”选择以太网;步骤三:设置“GOTIP地址”与PLC同一网段;步骤四:结束触摸屏设置如下;步骤五:点击连接器设置“CH1:MELSECiQ-F”;步骤六:设置PLC“IP地址”;注意:触摸屏连接的第......
  • Mitsubishi 三菱GX Works2梯形图程序分段显示设置
    一、适用情况用GXWorks2进行梯形图程序编辑时,默认是一整段在一起,程序步数较多时查看起来不是那么方便,本文教大家如何设置可以将程序分段显示。二、启用方法如下第01步,在新建工程时的设置如下图 第02步,编辑的整段示例程序如下第03步,先选择声明编辑第04步,然后双击左母线......
  • 三菱FXPLC 中断服务
    一、中断是什么所谓中断,是指PLC按顺序执行程序扫描的过程中,当有需要立即反应的请求发出时,立即中断当前执行的扫描工作,优先地去执行请求所指定的服务工作。服务工作完成后,再回到刚才被中断的地方继续往下执行程序扫描工作。换句话说,中断服务就像是个磨人的小妖精,时不时......
  • 三菱Q系列PLC串口和台达变频器进行RTU通信
    ▎一、动作描述1.三菱Q系列串口和台达变频器进行RTU通信2.通信内容:正反转停止控制▎二、前置基础1.Q系列串口通讯重要指令:U:模块的起始IO编号(以16进制数4位表示时的高3位)例如:起始IO为0070——U7n1:K1表示第1通道,K2表示第2通道n2:协议连续执行数,最大8个S:起始软元件(看下......
  • 三菱plcCCLINK转profinet与西门子PLC通讯案例分析
    用三菱PLC的控制系统需要和西门子的PLC控制系统交互数据,捷米JM-PN-CCLK 是自主研发的一款 PROFINET 从站功能的通讯网关。该产品主要功能是将各种 CCLINK 总线和 PROFINET 网络连接起来。 捷米JM-PN-CCLK总线中做为从站使用,连接到 CCLINK 总线中做为从站使用。  三......
  • 三菱fx3u系列plc硬件接线转网口模块
    你是否曾经遇到过工厂设备信息化的需求?捷米科技有限公司研发的捷米特JM-ETH-FX转以太网通讯处理器为你解决了这个问题!捷米特JM-ETH-FX转以太网通讯处理器是一款经济型的以太网通讯处理器,专门为满足工厂设备信息化需求而设计。它支持三菱FX1S/1N/2N/3S/3G/3GA/3GC/3U/3UC系列、汇......
  • 三菱q系列plc支持ethercat
    产品概述捷米特JM-ETH-QnA是一款经济型的以太网通讯处理器,是为满足日益增多的工厂设备信息化需求(设备网络监控和生产管理)而设计,用于三菱Q2A/Q2AS1/Q3A/Q4A等多个QnA系列PLC的以太网数据采集,非常方便构建生产管理系统。以太网编程、上下载程序、上位监控(WinCC、组态王、力控、Ke......