全国服务热线 15221406036

西门子模块6ES7211-1AE40-0XB0详细说明

更新时间:2024-05-08 07:10:00
价格:¥666/件
联系电话:
联系手机: 15221406036
联系人:聂航
让卖家联系我
详细介绍

西门子模块6ES7211-1AE40-0XB0详细说明

随着工业自动化控制技术的不断发展,可编程逻辑控制器(PLC)与上位机之间通讯的应用越来越广泛。在PLC与上位机组成的集散控制系统中,PLC作为下位机完成现场各种信号和数据的采集、运算和控制,上位机则可提供人机交互界面,实现数据的处理以及现场数据的实时显示等监视和远程控制等功能,这样不仅提高了PLC的控制功能,扩大了它的控制范围,而且能够使PLC之间的资源共享,便于实现集中控制和网络化管理。由此可见,要实现这一功能,PLC和上位机间的数据通讯是一关键环节。该文采用VisualBasic 6.0,以普通工控机为上位机实现了和SIEMENS SIMATIC S7—200系列可编程逻辑控制器间的通讯,并在某自动卸胎机械手的控制系统中得到了成功的应用。

1 S7—200 PLC的自由端口通讯

  1.1 自由端口通讯的方式

  SIMATIC s7—200 PLC内部集成的PPI接口为用户提供了强大的通讯功能。PPI接口的物理特性为RS485,可在PPI(pOint to pOint)、MPI(multi—pOint)和自由端口(free port)三种通讯方式下工作。PPI用于S7—200系列PLC之间进行通讯,而MPI则用于在S7-400系列、S7—300系列和S7-200系列PLC之间进行通讯。此外,S7-200系列PLC还可通过增加EM277 PROFIBUSDP扩展模块以支持PROFIBUSDP工业以太网的通讯。以上几种通讯方式使用起来方便、灵活,但只适用于SIEMENS SIMATIC工控产品之间的通讯,无法满足与其它厂商的工控产品进行通讯的需求,因此SIMATIC S7—200提供了一种自由端口通讯方式。自由端口通讯方式是S7—200系列PLC一个很有特色的功能,它使S7—200可以与任何具有串行接口和通讯协议公开的智能设备进行通讯(如变频器、单片机和MODEM等),使通讯范围扩大、控制系统配置更加灵活。自由端口通讯在物理接口上要求双方都使用RS485接口。程序可以使用接受中断、发送中断、发送指令(xMT)和接受指令(RCV)来控制通讯操作。只有CPU处于RUN模式时才能进行自由端口通讯,当CPU处于STOP模式时自由端口通讯被停止。自由端口虽然为标准RS485接口,但西门子公司提供的PC印PI电缆带有RS-232/485电平转换器,因此在不增加任何硬件的情况下,可以很方便地将PLC和上位机互联,如图1所示。

上位机-PLC连接图
图1上位机-PLC连接图

  1.2 自由端口通讯模式的初始化

  S7-200 PLC自由端口通讯模式的初始化是通过对特殊存储字节SMB30(端口0)写入通讯控制字来设置通讯的波特率、奇偶校验、停止位和数据位数。SMB30各位的含义如图2所示。

SMB30各位的含义
SMB30各位的含义

  1.3 自由端口通信模式下收发数据

  配置自由端口通讯模式后,就可以进行数据的收发了。

  1)发送数据指令XMT

  其命令格式为XMT Table,Port。可以用XMT指令方便地发送数据,XMT指令激活发送缓冲区(Table)中的数据。数据缓冲区的第一个数据指明了要发送的字节数,Port指明了用于发送的端口,可以发送一个或多个字符,*多有255个字符的缓冲区。

  2)接收数据指令RCV

  其命令格式为RCV Table,Port。可以用RCV指令方便地接收信息,RCV指令可以接收一个或多个字符,*多有255个字符,这些字符存储在缓冲区中。

2 通讯程序的设计

  2.1 自由端口通信程序设计

  自由端口通讯程序由主程序、初始化子程序、读子程序、写子程序、接收中断子程序、发送中断子程序和校验子程序等组成。其工作流程如图3所示。上述各功能块说明如下:

自由端口通讯程序工作流程
图3自由端口通讯程序工作流程

  1)主程序

  调用各个子程序并启动通讯端口。

  2)初始化子程序

  当PLC首次扫描,SM0.1有效时,由主程序调用,以便初始化自由通讯端口相关特殊寄存器、中断向量、PLC站点ID及接收、发送数据缓冲区等。

  3)读子程序

  当接收中断产生、验证无异常、收到报文读数据指令时,由主程序调用,实现接收完整报文、关闭接收中断、判断数据起始地址、判断数据长度、获取相关数据及发送反馈报文等功能。

  4)写子程序

  当接收中断产生、验证无异常、收到报文写数据指令时,由主程序调用,实现接收完整报文、关闭接收中断、判断数据起始地址、判断数据长度、获取相关数据及发送反馈报文等功能。

  5)接收中断服务子程序

  当自由端口接收中断允许、接收完整报文结束时,完成获取操作指令及标志读、写子程序调用允许。

  6)发送中断服务子程序

  当自由端口发送中断允许、发送完整报文结束时,完成开启接收中断及相关参数复位。

  2.2上位机的通讯程序设计

  上位机通讯软件是在Visual B商c环境下开发的,因Ⅶ具有强大的图形显示功能,可以很容易地开发出界面良好、满足用户需求的WIND(弼蛋标准风格的图形界面。同时VB还提供了方便灵活的串行通讯控件——MSComm。在利用该控件时,只需设置、监视其属性和事件,即可完成对串行端口的初始化和数据的传输工作。用Ⅶ编制的可实现串行通讯的部分程序如下:

  窗体加载时,打开通讯端口。

代码
代码

3 自动卸胎机械手控制系统的实现

  在某轮胎厂的自动卸胎机械手的研制过程中,应用了基于Visual Basic的西门子S7—200PLC与上位机之间的串行通讯设计,以实现实时监视和远程控制等功能。其中机械手运动时的控制界面如图4所示。机械手运动到末位接近开关位置时,PLC得到信号,数据通过串行通讯端口传到上位机,上位机通过后台的程序处理,控制界面“末位接近开关状态”发生变化,使操作者可以直观地得知设备现在的状态。操作者也可以在上位机上对“运动电机”和“下料电机”进行直接的操作,以实现远程控制的功能。

卸胎机械手运动控制界面
图4卸胎机械手运动控制界面

4 结论

  可编程逻辑控制器与上位机之间通讯的应用,可以有效地提高控制系统的整体自动化程度。利用Visual Basic等计算机语言,可以方便地开发出PLC和上位机通讯应用软件,PLC完成对现场开/关量、模拟输入偷出量的控制处理,上位机实现对过程参数的监控、分析、统计、修改等。实践证明,该应用方案投资少、开发周期短、运行稳定可靠,对小规模的系统极具现实意义

“自由通讯”的意思是:上位可以依据下位给出的协议,按照该协议对下位进行存取操作。用在触摸屏或者PLC上就是:通讯命令完全交由宏指令(对HMI而言)或者梯形图(对PLC而言)来完成。
这里要举的例子就是用永宏自由通讯(FUN151 MD1模式)实现对MODBUS_RTU通讯(MODBUS_RTU协议内容网上可以下载)。我觉得RTU的比较难的在于CRC校验的实现,当然永宏本身是有 CRC16 指令的,这样可以省去CRC生成算法,但在一些没有CRC指令的PLC上面,就需要自己编写了,这里来编写CRC算法。
CRC算法说明,大概就是下面这几个意思:
1.设置CRC寄存器,并给其赋值FFFF(hex)。
 2.将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器。
3.CRC寄存器向右移一位,MSB补零,移出并检查LSB。
4.如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。
 5.重复第3与第4步直到8次移位全部完成。此时一个8-bit数据处理完毕。
 6.重复第2至第5步直到所有数据全部处理完成,*终CRC寄存器的内容即为CRC值。
 
举例:对 02H  03H  07H  D0H  00H  03H 这6个数据进行CRC校验。我们可以事先用winproladder算出这6个数据的CRC校验值或者在通讯表格里面,拖动选中需要进行CRC校验的寄存器号,也可以得出CRC值,如下图

现在通过编程来计算CRC了,我把这个过程做成子程序,并且命名为 CRC,说明
1.    R100=FFFFH(CRC寄存器),在CRC运算前,事先被赋值;
2.    V 指针,在CRC运算前,先被清零;
3.    02H  03H  07H  D0H  00H  03H 被放在 R6003 ~R6008 这6个寄存器内。
 
再来看看主程序部分

 
通过监视页观察 CRC结果

由于CRC校验结果是高低位对调的,这里把CRC累加器的值对应存放到需要存储CRC结果的寄存器就可以了。
永宏的B1/B1z系列PLC之前不能使用CRC16指令,所以之前的CRC结果比较麻烦,但现在winproladder V3.20里面,B1/B1z已经支持该指令,并且也可以进行浮点运算了。

没有

联系方式

  • 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201600
  • 联系电话:未提供
  • 经理:聂航
  • 手机:15221406036
  • 微信:15221406036
  • QQ:3064686604
  • Email:3064686604@qq.com