西门子PLC湖南省 (中国)总代理

供应商
广东湘恒智能科技有限公司
认证
西门子变频器
西门子触摸屏
西门子伺服电机
西门子PLC
西门子直流调速器
西门子电缆
联系电话
18475208684
手机号
18475208684
经理
向小姐
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房
更新时间
2024-03-29 14:52

详细介绍

本文主要介绍两部分,1.简单介绍modbus通讯相关知识。2.通讯案例详解。一.modbus通讯介绍1.通讯概述modbus具有两种串行传输模式:分别为ascii和rtu。modbus是一种单主站的主从通信模式,modbus网络上只能有一个主站存在,主站在modbus网络上没有地址,每个从站必须有唯一的地址,从站的地址范围为0- 247,其中0为广播地址,从站的实际地址范围为1 - 247。modbus rtu使用主/从站网络,其中整个通信仅由一个主站设备触发,而从站只能响应主站的请求。主站将请求发送到一个从站地址,并且只有该地址上的从站做出响应。modbusrtu是用于网络中通信的标准协议,使用 rs232 或 rs422/485 连接在网络中的 modbus设备之间进行串行数据传输。 注:modbus 从站地址为 0 时会向所有从站发送广播帧(从站均不响应)。2.modbus通讯协议modbus的通讯协议可在网上查阅相关详细资料,这里简单说明:数据传送帧结构顺序是,主站和从站/从站和主站之间的数据通信从从站地址开始,接下来是功能代码。随后传输数据。数据字段的结构取决于使用的功能代码。帧的后传送的是校验和(crc)。用于读取数据的功能代码:modbus功能代码用于读取从站(服务器)数据的功能01读取输出位02读取输入位03读取保持寄存器04读取输入字用于写入数据的功能代码:modbus功能代码用于向从站(服务器)写入数据的功能05写入一个输出位06写入一个保持寄存器15写入一个或多个输出位16写入一个或多个保持寄存器二.通讯案例详解案例背景:一套以西门子s7_1200plc作为控制器的控制系统(带hmi面板),与一套加湿器控制系统(单片机)进行modbusrtu通讯,读取和写入加湿器数据,并通过控制面板进行显示和设置加湿器参数,以及通过hmi面板手动控制加湿机的充水、排水、加湿和停机。(与除湿机的通讯只是该项目中的一部分,这里只介绍与加湿机的通讯部分,其他控制部分未说明)加湿器的参数如下图 注:plc的控制系统作为主站,加湿器控制系统为从站1.  硬件及软件需求硬件:cpu1215c ac/dc/rly(订货号:6es7215-1bg40-0xb0)      cm 1241(rs422/485)(订货号:6es7 241-1ch32-0xb0)hmi面板ktp1200basic pn(订货号:6av2123-2mb03-0ax0)     屏蔽电缆(用于通讯)注:本项目采用rs485接线方法, 3号针脚--rs485信号 b(+);8号针脚--rs485信号a(-);5号针脚--接屏蔽等电位点。软件:博途v15(或其他)2. 硬件组态①通讯模块组态:设置好传输率=9.6kbps、奇偶校验、数据位和停止位,其它保持默认。启用plc系统时钟②设备和网络组态:添加hmi面板,并组态网络连接。3.数据发送和接受缓冲区设置①根据加湿机系统的点数表找到需要的参数,加湿机的点数表需提供地址、变量名、功能码、数据类型等,本项目需用到的参数我已飘绿并进行了标注说明。下面介绍如何使用这些变量。②创建数据发送和接收缓冲区在软件中单独创建一个db数据块,用来作为数据发送和接收的缓冲区。缓冲区如何设置?举一个例子(其他按照该方法操作即可)加湿机充水阀、排水阀状态参数如下:名称地址功能码数据类型充水阀状态1000102(读取输入位)bool排水阀状态1000202(读取输入位)bool在db块中建立数组名read_di_array,数据类型为bool型。注:数组长度要大于读取参数数量,这里设置数组长度为6(0~5)到这里,所有的前期工作已经完成,到了进行软件编程的环节。4.软件编程① 创建一个fb数据块作为modbus通讯程序块,然后在main[ob1]组织块中调用该程序块。② 调用mb_comm_load指令,会自动生成背景数据块。对每个通讯端口进行组态。程序快几个主要端口引脚组态说明:req:连接系统时钟的首次循环变量地址%m1.0(firstscan(1))。port:连接通信的通信模块的硬件标识符,在plc变量表里的系统变量里找到。mb_db:连接参数在这里必须与modbus_master的mb_db参数相连。波特率baud、奇偶校验parity和前面设置一样。③ 调用modbus_master指令mb_addr:加湿机从站地址为1。dtaa_addr:数据起始地址data_len:访问的数据位数或字的个数data_ptr:在前面建立的数据发送接收缓冲区,在这里将用到。表示指向要进行数据写入或数据读取的标记或数据块地址。对加湿机参数数据位、字的读取和写入,该项目中使用到了多个modbus_master指令,一定要采集用轮询的方式。否则读写的数据会报错。前一个modbus_master的完成位done作为下一个modbus_master的数据请求位req5.    hmi画面组态① 创建一个加湿机参数画面“加湿机参数”② 设计编辑画面③ 变量连接举例:加湿机需求量地址为30001,在plc中对应db数据块master_hr的read_ai数组的第一个元素master_hr_read_ai_array{0},在过程----变量中拖拽即可。画面中其他参数组态按照该方式依次组态完成即可。注:plc的变量一定与加湿机的变量地址对应好。至此一个完整的通讯项目已经完成。
西门一级代理商,西门子代理商,西门子变频器,西门子PLC,西门子伺服电机

展开全文

我们其他产品
我们的新闻
咨询 在线询价 拨打电话