西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯

CP441-2 使用 TIA Step7 V13 进行 Modbus Slave 通讯
作者:工控自动化老王
关注同名V–X公//众//号:工控自动化老王获取更多技术文档及工控资源,交流、学习,另外老王承接PLC毕业设计,欢迎咨询!

CP441-2 使用 TIA Step7 V13 进行 Modbus Slave 通讯

  1. 硬件列表
  2. 组态和配置
    1. 新建项目
    2. 创建CPU400站点
    3. 组态CP441-2
    4. 设置协议Modbus Slave
  3. 编写通信程序
    1. 逻辑地址的填写
    2. 调用通信功能块
    3. 创建通信数据块DB块
  4. 设备连接
  5. 通信测试
    1. 设置调试软件Modscan32
    2. CP441-2与调试软件测试通信数据
      1 硬件列表
      设备名称 设备型号
      RACK-400 6ES7 400-1JA01-0AA0
      PS 407 6ES7 407-0KA02-0AA0
      400CPU 6ES7 416-3ER05-0AB0
      CP441-2 6ES7 441-2AA05-0AE0
      (Interface1:RS422/485)
      (Interface2: RS232C,本例使用接口)
      接口类型的选择,具体描述见 CP441-2 的 MODBUS Master 通信中的描述;应用CP441-2进行 MODBUS协议通信时需要有Dongle的支持,详见 CP441-2 的 MODBUS Master 通信中的图。
      2 组态和配置
      1、打开软件TIA PORTAL STEP7 V13,点击项目->新建…创建一新项目,项目名称为441-2_modbusS。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第1张图片
      图1
      2、用鼠标点击“添加新设备”,选择SIMATIC S7-400->CPU->CPU 416-3PN/DP->6ES7 416-3ER05-0AB0。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第2张图片
      图2
      3、双击“设备组态”进入硬件组态界面,导轨RACK和CPU 416-3PN/DP已经存在,但是可能RACK型号与实际一致,CPU的插槽位置也不对,这里需要手动做调整。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第3张图片
      图3
      点击CP441-2模板,在选件目录中,选择“通信模块->点到点->PtP接口”,为CP441-2模块指定接口类型。本例中第一个接口选择RS422/RS485,第二个接口选择RS232C接口,本例对第二个接口作设置和编程。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第4张图片
      图4
      4、双击CP441-2模板,进入CP441-2的属性框,配置CP441-2参数。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第5张图片
      图5
      5、本例使用第二个接口,在IF963 RS232中点击“协议”,在“协议”选项中选择“Modbus从站”。配置Modbus从站通信参数,设定的通信参数要和通讯伙伴的相同。传输率(通信波特率):9600bps,数据位:8位,停止位:1位,奇偶校验:无,从站站址:2,其他的参数都采用默认设置。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第6张图片
      图6
      6、FC01,05,15:读取、强制输出位的状态;分4个范围,每个范围前2行地址为信息传送地址,后2行对应西门子的PLC地址区,即第1范围从0~15对应MODBUS地址区为00001-00016,对应西门子数据区(标记F.)为M10.0-M11.7;第2范围从16-31对应MODBUS 地址区为00017-00032,对应西门子数据区(输出Q.)为Q0.0-Q1.7;第3范围从地址32-64对应Modbus 地址区为00033-00065,对应西门子数据区(时间T.)为T0-T2;第4范围从地址80-112对应Modbus 地址区为00081-00113,对应西门子数据区(计数器C.)为C0-C2。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第7张图片
      图7
      7、FC02:读取输入数据位的状态,分2个范围,每个范围前2行地址为信息传送地址,后2行对应西门子的PLC地址区,即第1范围从0~15对应MODBUS地址区为10001-10016,对应西门子数据区(标记F.)为M12.0-M13.7;第2范围从16-31对应MODBUS 地址区为10017-10032,对应西门子数据区(输入I.)为I0.0-I1.7。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第8张图片
      图8
      8、FC03、06、16:组态保持寄存器数据区,对应西门子数据区为DB块,即MODBUS保持寄存器地址区的地址40001,对应西门子DB块的地址DB10.DBW0,依次40002对应DB10.DBW2,往后依次类推。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第9张图片
      图9
      9、FC04:组态输入寄存器数据区,对应西门子数据区同样是DB块,即MODBUS输入寄存器地址区的地址30001,对应西门子DB块的地址DB11.DBW0,依次30002对应DB11.DBW2,往后依次类推。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第10张图片
      图10
      10、设置写参数的限制值,对写操作做访问限制。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第11张图片
      图11
      11、如果CP441-2选用的是RS422/485接口时,还需要设置接口类型,如下图所示,其它参数与RS232的设置一样。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第12张图片
      图12
      12、进入网络视图,点击“连接”,看到之前步骤创建的2个ptp连接,其中PTP_2子网的连接本地ID是16#1001(在本例中)。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第13张图片
      图13
      点击上中的“属性”,进入PTP_2连接的属性,将连接路径修改成“3:本地<->伙伴”。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第14张图片
      图14
      3 编写通信程序
      1、在设置功能码FC03、06、16中,创建DB10满足设置需要;在设置功能码FC04中,创建DB11满足设置需要。这2个数据块都创建1个数据类型Array的变量,数组元素的数据类型为Word,数量为101。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第15张图片
      图15
      2、进入主程序OB1,从通信->通信处理器->MODBUS Slave (RTU),调用功能块MODB_441,MODB_441的背景数据块为DB3。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第16张图片
      图16
      关于功能块MODB_441的管脚说明。
      ID
      Local ID号,在PtP连接属性中获得,十六进制输入。本例中为16#1001,见图13
      START_TIMER
      超时初始化定时器,本例中为T10
      START_TIME
      超时初始化时间值,本例中为S5t#5s
      STATUS_TIMER
      通讯状态读取定时器,本例为T11
      STATUS_TIME
      通讯状态读取时间值,本例为S5t#2s
      OB_MASK
      外设访问错误屏蔽位,本例中为M100.0
      0:不屏蔽IO访问错误
      1:屏蔽IO访问错误,并使报警延时
      CP_START
      FB初始化始能位,该位需要置1。本例中为M100.1
      CP_START_FM
      CP_START初始化的上升沿位,本例中为M100.2
      CP_START_NDR
      从CP写操作位,本例中为M100.3
      CP_START_OK
      初始化成功标志,本例中为M100.4
      CP_START_ERROR
      初始化失败标志,本例中为M100.5
      ERROR_NR
      错误号,本例中为MW102
      ERROR_INFO
      错误信息,本例中为MW104,可以查看Modbus Slave 手册第10章
      4 设备连接
      本文档使用的CP441-2的接口是RS232C,因此需要通过标准的RS232C电缆来连接CP441-2和计算机的串口,具体的电缆连接方法请查看手册“点对点链接CP441安装和参数分配”(见:第2章节),附录:B 连接电缆。
      如果使用的CP441-2是RS485接口的模块,需要使用RS232C/RS485转换器。
      5 通信测试
      前面使用 TIA Step7 软件已经将通信CP441-2的通信工作做完,下面进行通信测试。这里使用串口通讯测试软件Modscan32软件来测试CP441-2和计算机的通信,步骤如下
      1、将项目程序在线,本示例中手动将M200.1(即:CP_START)置1,M200.2(即:CP_START_FM)和M200.4(即:CP_START_OK)也会为1。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第17张图片
      图17
      2、首先将硬件配置和程序下载到CPU 416-3PN/DP中。在计算机上打开MODBUS主站仿真软件Modscan32。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第18张图片
      图18
      3、点击Modscan32上的Connection->Connect,显示画面如下,选择计算机和CP341相连的COM口COM1,设好波特率,数据位,停止位,校验方式,如下图。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第19张图片
      图19
      4、设置完成,点击OK,显示画面如下。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第20张图片
      图20
      5、数据显示区的10个地址的数据对应CPU中DB10的前10个字(Word)的数值(DBW0–DBW10分别为1-10 ),如下图。给这10个字赋值1-10。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第21张图片
      图21
      6、Modscan32软件界面03功能码的地址40001-40010分别显示1-10的数据。
      西门子串口通讯11-CP441-2在博图环境中做Modbus从站通讯_第22张图片
      图22

你可能感兴趣的:(工业自动化)