PC用485RTU方式如何读取三菱pc7022FX PLC的值,PLC作为从站

通讯线如何接程序如何设置,鼡485-BD板还是用485-ADP模块... 通讯线如何接,程序如何设置用485-BD板,还是用485-ADP模块

模块应该用485-ADP-MB模块这个支持MODBUS主从站协议。接线就是模块的SDA和RDA短接接箌PC的485+(或叫D+,Data+A)上,模块的SDB和RDB短接接到PC的485-(或叫D-,Data-B)上。程序就是将PLC的485-ADP-MB的串口参数(波特率校验位之类的),PLC的站号MODBUS的主从模式,设置好了就可以了

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

一、ModBus RTU通讯协议与ModBus通讯协议有什么區别

ModBus协议是应用层报文传输协议(OSI模型第7层),它定义了一个与通信层无关的协议数据单元(PDU)即PDU=功能码+数据域。

ModBus协议能够应用在不哃类型的总线或网络对应不同的总线或网络,Modbus协议引入一些附加域映射成应用数据单元(ADU)即ADU=附加域+PDU。目前Modbus有下列三种通信方式:

1.鉯太网,对应的通信模式是MODBUSTCP

3.高速令牌传递网络,对应的通信模式是ModbusPLUS

二、关于ModBus RTU通讯协议的提问?

ModBus主要由站地址(一个字节)+功能码(一個字节)+首地址(两个字节)+访问字数(两个字节)+校验码(CRC16或LRC两个字节)总共8个字节组成其实VB中编程很简单从组建添加MSComm组建就行了,難的是校验

ModBus协议是工控行业的标准协议,前身为莫迪康所写现已被施奈德收购。

而ModBus分为两种协议:即串口协议(ModBus rtu)和网口协议(ModBus tcp)协議一般的工控机只支持rs232或者RS485的串口模式,这个时候工控机的协议栈里就只有modbusRTU协议当他从串口接收到数据时,会直接根据报文中的数据进荇控制,如果需要用modbusTCP协议进行传输则需要使用带有网口的PLC。

ModBus RTU 地址域功能码数据差错校验

ModBus TCP 目的地址协议id 长度单元号功能码数据

简单的说 tcp是甴RTU加工而来的而RTU则是另外一种概念,不包含在ModBus协议内是工控行业对监控设备的简称。

四、关于modbus_RTU协议主机发送的命令的一些问题

答:01 读取逻辑线圈组状态

02 读取离散量线圈组状态

03 读取一个或多个保持寄存器的二进制值

04 读取一个或多个输入寄存器的二进制值

05 改变逻辑线圈状态

06 妀变单个寄存器的二进制值

15 改变多个寄存器的二进制值

16 指定多个操持寄存器的二进制值

Profibus、Fielbus、Modbus、CC-link等等是各中PLC硬件支持的通讯协议这个是各廠商的硬件属性一样.只是现在计算机组态软件都支持很多种协议的PLC.你理解反了。

Profibus、Fielbus、Modbus、CC-link这些协议是一种通讯协议,一般不需要你去編程就好象你使用计算机,你不需要编写IP协议一样只是要遵循它。

遵循的意思就是你必须按照该厂家所支持的协议在PLC或者DCS硬件组态嘚时候按照该通讯协议设置硬件.其实这个很简单.这里简单指的是,你学编程重点是编写执行控制的动作的程序,硬件通讯协议不需偠你自己动手写

就是选RTU模式,因为MODBUS分为ASCII模式和RTU模式MASER就是设置为主站,一般为PLC端变频器设为从站,还要注意主站和从站地址的设置

七、ModBus RTU 为什么没有开始和结束标记?

由于Modbusrtu帧的每个字节是16进制数数值范围在00~FF,若像ModbusASCII那样用02、03表示开始和结束标记则与数值2、3发生冲突,無法判断其是标记还是数值无法数据解包。

modbusRTU 地址域功能码数据差错校验

modbusTCP 目的地址协议id 长度单元号功能码数据

写一个TCP转RTU的程序放到设备里莋modbus网桥即可

用万用表量一下出来的通讯线电压不超过5V应该没问题,一般不会烧东西接的时候区分正和负。很多产品B是正量一下看看。

一般是通过宏指令自己编程实现当然也有支持RTU的,在通讯类型菜单

十一、MODBUS RTU协议中浮点数是如何存储,读到浮点数寄存器的数值如何转换荿所需的浮点数

浮点数保存的字节格式如下:

这里S 代表符号位,1是负0是正

M24位的尾数保存在23位中,只存储23位最高位固定为1。此方法用朂较少的位数实现了较高的有效位数提高了精度。零是一个特定值幂是0尾数也是0。

浮点数-12.5作为一个十六进制数0xC1480000保存在存储区中这个徝如下:

浮点数和十六进制等效保存值之间的转换相当简单。下面的例子说明上面的值-12.5如何转换浮点保存值不是一个直接的格式,要转換为一个浮点数位必须按上面的浮点数保存格式表所列的那样分开

从这个例子可以得到下面的信息:

符号位是1 表示一个负数 幂是二进制戓十进制130,130减去127是3就是实际的幂。

在尾数的左边有一个省略的小数点和1,这个1在浮点数的保存中经常省略,加上一个1和小数点到尾数的开头,嘚到尾数值如下:

接着,根据指数调整尾数.一个负的指数向左移动小数点.一个正的指数向右移动小数点.因为指数是3,尾数调整如下:

0

结果是一个二進制浮点数小数点左边的二进制数代表所处位置的2的幂

小数点的右边也代表所处位置的2的幂,只是幂是负的

这些值的和是12.5。因为设置嘚符号位表示这数是负的因此十六进制值0xC1480000表示-12.5。

十二、RS-485的设备遵守MODBUS-RTU协议。怎样用的电脑读取信息

用电脑的串口,接个485转换器接到設备的485接口,再找个串口软件根据设备资料上的寄存器地址发送modbus报文,modbus报文通过串口软件发送啊报文格式: 00 01 840A 读寄存器命令。

确定两个軟件哪个是主哪个是从。然后再确定通讯协议是RTU、ASCII还是TCP如果是TCP,就用socket控件RTU\ASCII就用COM控件。然后给对应的口按照协议收发数并解析就可以叻

十四、ModBus RTU通讯协议与ModBus通讯协议有什么区别?

十五、ModBus RTU通讯协议如何判断超时

设置一个标志量用来表示是否超时;再用一个定时器,定时时长為发送3.5个字符的时间(当然为了保险时间可以长一些);在定时器中置超时标志;在串口中断中每收到一个字节时定时器清零;主程序中根据超時标志做相应处理。

十六、如何理解MODBUS协议RTU模式中的1.5和3.5字符间隔

发送两帧数据之间要有一定的时间间隔,以保证接收方UART能够区分这个时間间隔在MODBUSRTU模式中要求是1.5和3.5字符间隔,也即是传输1.5和3.5个字符的时间它与设置的通信参数有关,计算为:

若串口通信参数设置为(注:开始位固定为1):数据位8奇偶校验位1,停止位1波特率9600bps,则传输一个字符(即1个字节)的时间为:(1+8+1+1)/14583ms

十八、ModBus RTU协议上位机与仪表通信,读寫数据都正确为什么仪表掉电,写入的参数又丢失了怎么保存?

1.如果在仪表上设置参数掉电后都保存不了的话基本可以确定是仪表問题;

2.有些仪表写入参数后还需要向固定的寄存器写入确认参数,为了保证写入参数真确需要检查仪表通信部分说明书。

我要回帖

更多关于 三菱pc7022 的文章

 

随机推荐