三菱FX编程口通讯协议1——协议解读
三菱PLC编程口通讯协议:
1、三菱PLC编程口通讯协议有四个命令,如下:
2、三菱FX系列PLC地址对应表:
PLC_X Group Base AddRess=128;
Const PLC_Y_Group Base AddRess=160;
M _Group Base_AddRess = 256;
PLC_D_Base_AddRess = 4096;
PLC_M_ SINGLE Base_AddRess = 2048 (命令为7或8时);
当我们用DEVICE READ命令时,D100地址=100*2+4096;M100地址=100+256;X0地址=0+128;
Y0地址=0+160;同的是D类型寄存器存放的是字,X、Y、M寄存器存放的是位,同样是读两个字节,D100返回的就是PLC中D100地址的值,X、Y、M则是读取首地址及其后16位数据;
3、四个命令格式举例:
<1>、DEVICE READ(读出软设备状态值)
上位机向PLC发送报文格式:
例子:从D100开始读取4个字节数据
注:①:以上发送报文均为转换为16进制ASCII码;
②:和校验SUM=CMD+„„+ETX,超过两位,取后两位并转换为16进制ASCII码;
PLC返回报文格式:
<2>、DEVICE WRITE(向PLC软设备写入值)
例子:向D100开始的两个存储器中写入1234,ABCD
PLC返回
ACK (06H) 接受正确
NAK (15H) 接受错误
<3>、位设备强制置位/复位
FORCE ON置位
FORCE OFF复位
PLC返回
ACK(06H) 接受正确
NAK(15H) 接受错误
设备强制中的地址公式:Address=Address/8+100h
以上就是三菱FX系列通讯口协议的内容, 下次用这个协议开发上位机。
三菱PLC-FX编程口通信协议及通信实操
很多控制都采用FX系列PLC,也非常简单易学。但如果说,我们想用上位机与PLC通信,好不好弄呢?比如VB,LabView,再简单点:串口助手。FX编程口协议没有公开,最近做了个CB与FX3U的系统,所以和大家分享一下。
CB软件界面涉及公司机密,就不便放出来给大家看,用串口调试助手V2.1代替,一样的道理。关于上位机的学习,大家可以网上下载点资料来参考。下面就给出整个测试过程,并对部分协议地址做详尽的见解。
准备:FX3U(FX系统的均可)、串口调试助手V2.1、SC-09通信线(或者SC-09-USB,我用的是SC-09-USB,因为串口助手帮我们完成USB转串口这部分,如果用VB或其他上位机通信,需要用SC-09通信线,要求电脑有DB9串口)
串口助手
FX-PLC
SC-09-USB通信线
SC-09-DB9通信线
用SC-09-USB通信线一头连接电脑、一头连接编程口
一、通信传输格式设置
1位起始位、7位数据位、偶校验、1位停止位,波特率9600,传输字符格式为ASCII码。所以串口助手COM设置如下(PLC不用设置):
一、通信指令
PLC只能对上位机发出的指令做回答,不能主动命令上位机。编程口通信有4条指令,代码分别如下:
PLC收到上位机指令后,做出回答如下
二、通信格式
三、元件地址
那地址是怎么得来的呢?其实是可以查表得来。
表格1 只列出部分位元件的地址
定时器T、计数器C的地址,大家可以去网上收集资料,后面我测试没用到这些类型的元件,所以就没有列出这些地址表。下面给出寄存器D的地址值,范围是D0-D511,给出框架,可按规律自己补齐地址。
表格2 一般寄存器D的部分元件地址表
适用强制(置位,复位)指令是适用的地址与表格1是不一样的,这点要注意。为了大家更加清楚,下面给出Y、M置位/复位的元件地址,其他的S、X、T、C这部分地址,网上自己搜搜。
表格2 强制Y、强制M的部分位元件地址表
四、通信实操
将写好的PLC程序灌入PLC中,测试PLC程序如下:
GX Work2创建的测试程序
上电,RUN,PLC的状态如下:
只有Y31的状态为1,其余的为0
1、通信测试
串口助手发送05h,PLC回复06h,则连接正常。若回复15h,则下位机不存在。
(注意:在串口助手与PLC通信过程中,请确认GX Work2已关闭工程)
通信正常
2、写指令(CMD内容为31h)
实操:使Y0~Y7的状态为 0 1 0 1 1 0 1 0 (16进制为5A,转为ASCII码为35h 41h)
使Y0~Y7的状态为 0 1 0 1 1 0 1 0 的指令格式
串口助手发送如下:
PLC状态如下:
Y0-Y7的指示灯,符合预期
PLC回复状态如下:
3、读指令(CMD内容为30h)
实操:读取D11、D12的值。(D11含2个字节,D12含2个字节,共4个字节)
读取D11、D12的值的指令格式 D11、D12的值以16进制显示
D11、D12现值(16进制):0BC3、01FA。从上图的分析,可知,已经正确从PLC读取D11 D12的值。
4、强制ON指令(CMD内容为37h)&&强制OFF指令(CMD内容为38h)
实操1:强制M0为ON
强制M0为ON的指令格式
实操2:强制M0为OFF
强制M0为OFF的指令格式
相关问答
plc端口设置?
位机开发中三菱PLC如果要走MC协议,是不需要额外编程的,但是需要做一些简单的配置。1.在右侧工程栏中双击PLC参数;2、在弹框中选择内置以太网端口设置,设置I...
如何指定三菱plc1号口为modbus从站口?
要将三菱PLC的1号口设定为Modbus从站口,您需要按照以下步骤进行操作:1.进入三菱PLC的编程界面。通常,您可以使用三菱PLC编程软件(例如GXWorks3)连接到PLC...
三菱plc通讯协议有几种?
三菱PLC通讯方式应用在目前的技术领域的有并行通信、单工通信,一般不会同时应用在同一个地区的通信中,并行通信、并行通信和并行通信的具体介绍如下:1、串行...
三菱mc协议怎么通讯?
你好,三菱MC协议是一种用于PLC(可编程逻辑控制器)和计算机之间进行通信的通讯协议。以下是三菱MC协议的通信步骤:1.设置通讯参数:包括通讯端口、波特率、...
三菱plc232通讯协议怎么写?
我不太清楚具体的写法,但是要使用三菱PLC和RS232通讯,需要进行以下步骤:首先确定PLC和计算机的RS232通讯口,然后编写PLC和计算机之间的通讯程序,并在计算机...
三菱plc通信报文怎么写?
三菱PLC通信报文需要按照指定的格式进行编写,一般情况下是根据三菱手册中的说明文档进行编写的。具体来说,需要按照以下步骤进行:1.确定通信协议类型和通信...
三菱plc变频器专用协议通信详解?
三菱PLC变频器专用协议通信是一种用于实现PLC与变频器之间数据传输与控制的通信协议。该协议具有高效、稳定的特点,可以实现PLC对变频器参数进行读写、控制和...
三菱两台plc之间怎么FX1N-485-BD来联接,FX1N-485-BD之间怎么...
根据三菱PLC的通信协议吧,自己编个简单的上位机即可gfxu回答的很正确发了两个,一个是通讯手册,一个是变频器的....希望给个满意...可以去百度文库搜FX1N...
三菱q系列udp协议怎么通信?
三菱Q系列UDP协议通信的步骤如下:在MCGS组态软件中,双击设备窗口,在设备工具箱点击设备管理,找到需要添加的三菱Q系列以太网,点击增加,再点击确认,将其添...
三菱PLC的CCLINK通讯设置?
CCLINK是三菱PLC的一种通讯协议,可用于PLC与其他设备之间的数据传输。在进行CCLINK通讯设置时,需要确定通讯模式、网络参数和节点地址等。通讯模式可以选择点...