您现在的位置是:首页 > PLC技术 > PLC技术
FX系列PLC与计算机之间的通信
来源:艾特贸易2017-06-05
简介任何一个控制系统都需要由操作者来控制和干预,为了使操作者可以直观、准确、迅速地了解当前系统的运行情况和各种参数,通常采用 PLC 与上位机进行通信的方式,将各种系统参数
任何一个控制系统都需要由操作者来控制和干预,为了使操作者可以直观、准确、迅速地了解当前系统的运行情况和各种参数,通常采用PLC与上位机进行通信的方式,将各种系统参数由PLC发送给上位机,然后上位机对这些数据经过一系列的加工、处理和分析之后,以某种方式显示给操作者,操作者再将需要PLC执行的操作输入到上位机,由上位机将操作命令回传给PLC。上位机通常都是通用计算机,如个人计算机,也可以是大、中型计算机。由于通用计算机软件丰富,直接面向用户,人机界面友好,编程调试方便,因此在PLC与计算机组成的系统中,上位机主要完成数据传输和处理、修改参数、显示图像、打印报表、监视工作状态、进行网络通信和编制PLC,程序等任务。PLC仍然直接面向工作现场,面向工作设备,进行实时控制。上位机与PCL之间的有效结合,可以弥补各自之间的不足,发挥各自的优势,从而扩大PLC的应用范围。 1.通信接口与模块 PLC内部都有与上位机通信的接口或专用的通信模块。一般在小型的PLC上都有RS-422A或RS-232C的通信接口,而在中、大型的PLC上都有专用的通信模块。PLC与上位机之间的通信正是通过这些接口与上位机上的相应接口进行的。PLC与上位机的连接可以直接使用SC-09通信接口。 另外,当PLC上的通信接口是RS-422A时,必须在PLC与计算机之间加一个RS-232C与RS-422A的接口转换器,以实现通信。由此可见,PLC与上位机之间的通信连接比较简单,使用起来十分方便。 RS-232C采用的接口转换模块FX-232ADP是一种以无规约方式与各种RS-232C设备进行数据交换的适配器。FX-232ADP转换模块与PLC连接好后,根据特殊寄存器D8120的设置来交换数据。PLC的RS指令可以设置交换数据的点数和地址。 2.通信协议 FX系列PLC与计算机之间的通信采用的是RS-232C标准,数据交换方式是字符串的ASCII码。每笔数据的长度可在通信前设定。例如,每笔数据的长度由10位数据组成,其中,第一位是起始位,表示一笔数据的开始;接下去的7位是数据位,表示要传送的数据,用ASCII码来表示;接着是校验位,用来保证通信的完整性,避免传输过程中由于各种干扰而造成数据传送的错误;最后一位是停止位,表示该笔数据传送完毕。 例如,要将数据字符“0”发送给接收方,数据交换方式定义为10位数据长度,其中,1位起始位,7位数据位,1位奇校验位,和1位停止位,传送字符“0”的格式如图6.8所示。从图6.8中可以知道,先传送起始位,然后是字符“0”的7位ASCII码,并且先传ASCII码的低位。因为字符“0”的ASCII码是“011 0000”,所以传送的码流是“0000 110”。跟在字符“0”后面的是奇校验位,最后是停止位。 图6.8 字符“0”传送示意图 FX系列PLC与计算机通信的时候,除了传送数据之外还会传送一些必要的命令。这些命令有助于计算机和PLC了解各自当前的状态,由此来决定如何进行数据的传输。所谓命令其实就是一些特殊的字符,这些字符以及数字的编码格式如表6.2所示.其中数字直接用其ASCII码来表示。 表6.2 命令和数字字符的编码格式
如果采用SC-09作为PLC通信的接口,由于其只是用硬件电路将RS-422A电平转换成RS-23 20电平的“裸接口”,与固化有通信软件的接口不同,不能使用汇编级的通信指令和符号化的地址。它只能用表6.3所示的4条指令,并且在编程时必须将这4条指令以十六进制机器码的形式来表示,这一点至关重要。 表6.3 支持SC-09的三菱FX系列PLC与计算机通信所用指令
上面介绍了单个命令字符的收发协议,接下来再对PLC与计算机之间的帧传送格式作一简单介绍。PLC与计算机之间大量数据的传输是以帧为单位,每帧包含了多个字符数据以及若干个命令字符。图6.9给出了一个多字符帧的组成示意。
图6.9 计算机从Y0读取两个字节的多字符帧 从图6.9可以知道,这个多字符帧是以STX开头,ETX结尾,多个字符数据被包含在两者之间。STX后面紧跟的是一个命令字符,它的十六进制码是30H,表示这是一个读命令(CMD0)。读命令后面的四个字符“00A0”代表了PLC输出线圈Y0的首地址,首地址后面的两个字符“02”表示所要读取字节的个数。在这个例子中是要读取两个字节的数据(Y0~Y7以及Y10~Y17)。在ETX后面的是两个字节长度的校验和,校验和的计算是从读命令(CMD0)到ETX之间的所有字符和的最低八位,包括读命令和ETX字符。在这个例子中,校验和的计算应该如下所示: 30H+30H+30H+41H+30H+30H+32H+03H=166H,最低八位是66H 所以最后两个字节的校验和应该是“66”,用ASCII码表示就是“36H 36H”。 3.通信操作 除了上面提到的数据格式的设定之外,还有其他一些通信参数需要在PLC与计算机通信之前进行设置。在两个串行通信设备进行通信之前,双方必须对各个通信参数进行约定,这些参数包括波特率、起始位、停止位和奇偶检验位。这些都可以在数据寄存器D8120中进行设置。具体的设置方法参见表6.4。 表6.4 D8120寄存器设置通信模式
由表6.4可知,如果要传送的数据长度是7位,有1位起始位和1位停止位,检验类型为奇校验,通信波特率为9600bps,那么可以将D8120的低八位设置为:82H =1000 0010B。根据实际通信的需要进行设置时,需要注意的是,通信双方的参数设置必须一致,否则会导致通信的失败。
点击排行
