PLC控制器上位机通信控制

时间:2022-06-07 06:09:00

导语:PLC控制器上位机通信控制一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

PLC控制器上位机通信控制

可编程逻辑控制器plc作为一种高性能的控制装置,在控制领域已经得到了广泛应用,在使用PLC的控制方式中,上位监控系统是其中的重要组成部分。目前PLC与上位机PC(计算机)通信方式主要有以下几种:

1)通过PLC开发商提供的系统协议与网络适配器,构成特定公司产品的内部网络,其通信协议不公开。互联通信必须使用开发商提供的上位组态软件,并采用支持相应协议的外设。这种方式显示画面和功能往往难以满足不同用户的需要。

2)购买通用的上位组态软件,实现上位机与PLC的通信。这种方式除了要增加系统投资外,其应用的灵活性也受到一定的局限。

3)利用PLC厂商提供的标准通信口或由用户自定义的自由通信口实现上位机与PLC互联通信。这种方式不需要增加投资,有较好的灵活性,特别适合小规模控制系统。

不同的通信方式,有着不同的成本价格和不同的适用范围。本文就西门子公司的S7-200系列PLC与上位机通信方法的实现,介绍一种通过上位机的RS-232口与PLC进行自由口通信的实现方法。

1通信装置的硬件实现

PLC与上位机之间进行通信,可使二者互补功能上的不足,PLC用于控制领域,既方便又可靠,而上位机在图形显示,数据处理,打印报表,以及中文显示等方面有强大的功能。因此,各PLC制造厂商纷纷开发了适用于本公司产品与计算机通信的端口或模块。西门子S7-200系列控制器的通信端口支持自由口通信模式,其通信口符合欧洲标准EN50170中PROFIBUS标准的RS-485兼容9针D型连接器。表1列出了为通信口提供物理连接的连接器,并描述了通信端口的针脚分配。上位机的串行通信端口为9针D型RS-232标准的端口,为了实现PLC与上位机通信,必须将RS-232标准转换成RS-485标准。RS-232采用负逻辑,用-5~-15表示逻辑状态“1”,用+5~+15表示逻辑状态“0”。RS-232的最大通信距离为15m,最高传输速率为20kbit/s,只能进行一对一的通信。RS-485为半双工通信方式,只有一对平衡差分信号线,不能同时发送和接收。将RS-232信号转换成RS-485信号,使用RS-232/RS-485转换器即可,使用时转换器插在计算机9针D型通信口,PLC与转换器之间通过信号线A、B进行两根线通信,即使用针3和针8。

2通信装置的软件实现

自由口通信是通过用户程序控制PLC通信口的操作模式,利用自由口模式,可以实现用户定义的通信协议,连接多种智能设备。PLC与上位机之间的通信是以上位机发出数据的请求命令,PLC向其发送数据的方式进行通信的。

2.1通信协议

通过使用接收中断,发送中断,发送指令(XMT)和接收指令(RCV),用户程序可以实现在自由口模式下对通信端口的控制,在自由口模式下,通信协议完全由用户程序控制。使用通信端口0与计算机通信时,通过SMB30允许自由口模式,而且只有在PLC处于RUN模式时才能允许,当PLC处于STOP模式时,自由口通信停止,通信口转换成正常的PPI协议操作。由于通信只使用A、B两线制进行数据传送,不能利用硬件信号作为检测手段,故在上位机与PLC通信发生误码时,将不能通过硬件判断是否发生误码,或者当上位机与PLC工作速率不一样时就会发生冲突。这些通信错误将导致PLC控制程序不能正常工作,因此必须使用软件,以保证通信的可靠性。

2.2通信过程

通信程序的工作过程是:PLC接收到上位机送出的请求数据后,先进行数据比较成功后,向上位机发送数据,而后再次处于接收状态。采用软件后,不管上位机与PLC的速度相差多远,发送方永远也不会超前于接收方。下面是将通信端口0初始化为自由口模式的一段程序,见图1。图1程序Ⅰ该段程序只在PLC上电或由STOP转为RUN模式后第一扫描周期运行,图1中,通过程序的执行,自由口模式运行的端口0具体通信设置参数为:不进行奇偶校验,每个字符的数据为8位/字符,波特率为9600bit/s,自由端口协议;检测报文的开始和空闲状态;以5ms为单位的空闲线时间间隔;接收的最大字符数为4;接收中断事件号为23;发送中断事件号为9;允许用户中断;接收的字符放在以VB200开始的字节,使用通信端口0进行通信。当PLC接收到上位机发送的4个字节1、3、5、7时见图2,10ms后启动发送程序INT_3向上位机发送数据,每次接收不到上位机发送来的字节时都会启动接收程序,也就是说,PLC一直处于接收、发送、再接收的循环往复中。图3表示,PLC将接从通信端口0接收到的字符,放在以VB200开始的字节中。