西门子PLC模块6ES7288-1SR20-0AA1
1.硬件连接
一台PC机可与一台或多16台三菱FX系列plc通信,PC与PLC之间不能直接连接。如图1a、b为点对点结构的连接,图a中是通过FX-232AW单元进行RS-232C/RS-422转换与PLC编程口连接,图b中通过在PLC内部安装的通信功能扩展板FX-232-BD与PC连接;如图1c所示为多点结构的连接,FX-485-BD为安装在PLC内部的通信功能扩展板,FX-485PC-IF为RS-232C和RS-485的转换接口。除此之外当然还可以通过其它通信模块进行连接,不再一一赘述。下面以PC与PLC之间点对点通信为例。
图1 PC与FX的硬件连接图
2.三菱FX系列PLC通信协议
PC中必须依据所连接PLC的通信规程来编写通信协议,所以我们先要熟悉FX系列PLC的通信协议。
1)数据格式
三菱 FX系列PLC采用异步格式,由1位起始位、7位数据位、1位偶校验位及1位停止位组成,比特率为9600 bps,字符为ASCⅡ码。数据格式如图2所示。
图2 数据格式
2)通信命令
三菱FX系列PLC有4条通信命令,分别是读命令、写命令、强制通命令、强制断命令,如表1所示。
表1 FX系列PLC的通信命令表
3)通信控制字符
FX系列PLC采用面向字符的传输规程,用到5个通信控制字符,如表2所示。
表2 FX系列PLC通信控制字符表
4)报文格式注:当PLC对计算机发来的ENQ不理解时,用NAK回答。
计算机向PLC发送的报文格式如下:
STX | CMD | 数据段 | ETX | SUMH | SUML |
其中,STX为开始标志:02H;ETX为结束标志:03H;CMD为命令的ASCⅡ码;SUMH、SUML为按字节求累加和,溢出不计。由于每字节十六进制数变为两字节的ASCⅡ码,故校验和为SUMH与SUML。
数据段格式与含义如下:
注:写命令的数据段有数据,读命令数据段则无数据。
PLC向PC发的应答报文格式如下:
注:对读命令的应答报文数据段为要读取的数据,一个数据占两字节,分上位下位:
数据段:
对写命令的应答报文无数据段,而用ACK及NAK作应答内容。
5)传输规程
PC与FX系列PLC间采用应答方式通信,传输出错,则组织重发。其传输过程
如图3所示。
图3 传输过程
PLC根据PC的命令,在每个循环扫描结束处的END语句后组织自动应答,无需用户在PLC一方编写程序。
3.PC通信程序的编写
编写PC的通信程序可采用汇编语言编写,或采用各种语言编写,或采用工控组态软件,或直接采用PLC厂家的通信软件(如三菱的MELSE MEDOC等)
下面利用VB6.0以一个简单的例子来说明编写通信程序的要点。假设PC要求从PLC中读入从D123开始的4个字节的数据(D123、D124),其传输应答过程及报文如图4所示。
图4 传输应答过程及命令报文
命令报文中10F6H为D123的地址,04H表示要读入4个字节的数据。校验和SUM=30H+31H+30H+46H+36H+30H+34H+03 H=174H,溢出部分不计,故SUMH=7,SUAIL=4,相应的ASCⅡ码为“37H”,“34H”。应答报文中4个字节的十六进制数,其相应的ASCⅡ码为8个字节,故应答报文长度为12个字节。
根据PC与FX系列PLC的传输应答过程,利用VB的MSComm控件可以编写如下通信程序实现PC与FX系列PLC之间的串行通信,以完成数据的读取。MSComm控件可以采用轮询或事件驱动的方法从端口获取数据。在这个例子中使用了轮询方法。
plc通信主要采用串行异步通信,其常用的串行通信接口标准有RS-232C、RS-422A和RS-485等。
1.RS-232C
RS-232C是美国电子工业协会EIA于1969年公布的通信协议,它的全称是“数据终端设备(DTE)和数据通信设备(DCE)之间 串行二进制数据交换接口技术标准”。RS-232C接口标准是目前计算机和PLC中常用的一种串行通信接口。
RS-232C采用负逻辑,用-5~-15V表示逻辑“l”,用+5~+15V表示逻辑“0”。噪声容限为2V,即要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1” 。RS-232C只能进行一对一的通信,RS-232C可使用9针或25针的D型连接器,表1列出了RS-232C接口各引脚信号的定义以及9针与25针引脚的对应关系。PLC一般使用9针的连接器
表1 RS-232C接口引脚信号的定义
如图1a所示为两台计算机都使用RS-232C直接进行连接的典型连接;如图1b所示为通信距离较近时只需3根连接线。
图1 两个RS-232C数据终端设备的连接
如图2所示RS-232-C的电气接口采用单端驱动、单端接收的电路,容易受到公共地线上的电位差和外部引入的干扰信号的影响,同时还存在以下不足之处:
图2 单端驱动单端接收的电路
- 西门子模块6ES7288-1CR60-0AA1 2024-05-08
- 西门子模块6ES7288-1CR40-0AA1 2024-05-08
- 西门子模块6ES7288-1CR30-0AA1 2024-05-08
- 西门子模块6ES7288-1CR20-0AA1 2024-05-08
- 西门子模块6ES7288-1CR60-0AA0 2024-05-08
- 西门子模块6ES7288-1CR40-0AA0 2024-05-08
- 西门子模块6ES7288-1ST60-0AA1 2024-05-08
- 西门子模块6ES7288-1SR60-0AA1 2024-05-08
- 西门子模块6ES7288-1ST40-0AA1 2024-05-08
- 西门子模块6ES7288-1SR40-0AA1 2024-05-08