西门子6ES7322-1BL00-0AA0参数详细
PLC即可编程控制器(Programmable LogicController),是一种以计算机技术为基础的新型工业控制装置,它是专门为工业环境应用而设计的数字运算操作的电子装置。它采用可以编制程序的存储器,在其内部存储和执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械设备或生产过程。PLC及其有关的外围设备都应该按易于与工业控制系统形成一个整体,易于扩展功能的原则而设计。
PLC通信包括PLC间的通信及PLC与其他智能设备间的通信。随着计算机控制技术的发展,工厂自动化网络发展得很快,各PLC厂商都十分重视PLC的通信功能,纷纷推出各自的网络系统。新近生产的PLC都具有通信接口,通信非常方便。本章具体介绍LabVIEW与永宏PLC通信的设计过程。
11.1.1 通信硬件连接
图11-1即为永宏PLC的硬件图,其中的硬件通信板可以选择,图11-2所示为选择的RS485与RS232的通信接口。
1.FBS-CB22通信板(CommunicationBoard简称CB)
2.FBS-CB22通信板对应的盖板(每一种通信板都有其对应的盖板)
图11-1 永宏FBS系列PLC硬件
图11-2 FBS-CB22RS232和RS485接口通信板
11.1.2 PLC串口通信原理
PLC各型主机均内建2个通信接口的标准配置,即一个RS232和一个RS485通信接口,其RS232接口主要用于上下载程序或用来与上位机、触摸屏通信,而RS485接口主要用于组建使用RS485协议的网络,实现通信控制。
1.RS232接口
RS232-C接口连接器一般使用型号为DB-9的9芯插头座,只需3条接口线,即“发送数据”、“接收数据”和“信号地”即可传输数据,其9个引脚的定义如图11-3所示。
图11-3 RS232-C接口连接器定义
在RS232的规范中,电压值在+3V~+15V(一般使用+6V)称为“0”或“ON”。电压在-3V~-15V(一般使用-6V)称为“1”或“OFF”;计算机上的RS232“高电位”约为9V,而“低电位”则约为-9V。
RS232为全双工工作模式,其信号的电压是参考地线而得到的,可以进行数据的传送和接收。在实际应用中采用RS232接口,信号的传输距离可以达到15m。RS232只具有单站功能,即一对一通信。
2.RS485接口
RS485采用正负两根信号线作为传输线路。两线间的电压差为+2V~6V表示逻辑“1”:两线间的电压差为-2V~6V表示逻辑“0”。
RS485为半双工工作模式,其信号由正负两条线路信号准位相减而得,是差分输入方式,抗共模干扰能力强,即抗噪声干扰性好;实际应用中其传输距离可达1200米。RS485具有多站能力,即一对多的主从通信。
在串行通信中,数据通常是在两个站之间传送,按照数据在通信线路上的传送方向可分为3种基本的传送方式:单工、半双工和全双工,如图11-4所示。
图11-4 单工、半双工和全双工通信
单工通信使用一根导线,信号的传送方和接收方有明确的方向性。也就是说,通信只在一个方向上进行。
若使用同一根传输线既作为接收线路又作为发送线路,数据可以在两个方向上传送,但通信双方不能收发数据,这样的传送方式称为半双工。采用半双工方式时,通信系统每一端的发送器和接收器,通过收发开关分时转接到通信线上,进行方向的切换。
当数据的发送和接收,分别由两根不同的传输线传送时,通信双方都能在同一时刻进行发送和接收操作,这样的传送方式就是全双工。在全双工方式下,通信系统的每一端都设置了发送器和接收器,能控制数据在两个方向上传输。全双工方式无须进行方向的切换。
串行通信可分为两种类型,一种是同步通信,另一种是异步通信。采用同步通信时,将所有字符组成一个组,这样,字符可以一个接一个地传输,在每组信息的开始要加上同步字符,在没有信息要传输时,填上空字符,因为同步传输不允许有空隙。采用异步通信时,两个字符之间的传输间隔是任意的,每个字符的前后都要用一些数据位来作为分隔位。比较起来,在传输率相同步通信方式下的信息有效率要比异步方式高,因为同步方式的非数据信息比例比较小。从另一方面看,同步方式要求进行信息传输的双方必须用同一个时钟进行协调,正是这个时钟确定了同步串行传输过程中每一个信息位的位置。这样一来,如果采用同步方式,那么,在传输数据的还必须传输时钟信号。而在异步方式下,接收方的时钟频率和发送方的时钟频率不必完全一样,而只要比较相近,即不超过一定的允许范围就行了。在数据传输中,较为广泛采用的是异步通信,异步通信的标准数据格式如图11-5所示。
图11-5 异步通信数据格式
从图11-5所列格式可以看出,异步通信的特点是一个字符一个字符地传输,并且每个字符的传送总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。每一次有一个起始位,紧接着是5~8个的数据位,再后为校验位,可以是奇检验,也可以是偶校验,也可不设置,后是1比特,或1比特半,或2比特的停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平,这样就保证起始位开始处一定有一个下降沿,以此标识开始传送数据。
11.1.3 永宏PLC通信协议
永宏通信协议可以简单通过串口来实现,上位机的具体参数如图11-6所示。
永宏PLC除了拥有自己的永宏标准通信协议以外,还支持Modbus通信协议(Porto除外),具体的通信步骤如下:
通 信 界 面 | Port0(RS232或USB) | 通信速率4.8 kbps ~ 921.6 kbps(9.6kbps) | |
Port1~Port4 (RS232、RS485或Ethernet) | 通信速率4.8 kbps ~ 921.6 kbps(9.6kbps) | Port1~4可提供永宏或Modbus RTUMaster/Slave通信协议 | |
大联机站数 | 254 |
图11-6 永宏PLC通信参数
(1)设定外围设备的参数。
— 控制方式(如启动、停止):通信控制。
— 频率给定方式:通信设置。
—设置通信参数:波特率、数据位、校验方式、停止位、RTU或者ASCII方式。
— 站号。
(2)PLC同该设备的RS485接线。
(3)改变设备的控制地址。找到所需要的控制地址,变成永宏Modbus地址。
(4)设定PLC通信接口的通信参数和通信方式,PLC和该设备上配置的参数要一致。
(5)在PLC内写M-BUS指令,并填写所需要的相应的通信表格。
(6)程序写好后,接通电源,进行调试。
11.1.4 程序结构
本例程序采用循序结构控制,程序流程框图如图11-7所示,主要由打开串口、设置串口、向串口写命令、读返回值、关闭串口4部分组成。
图11-7 程序流程
程序中对串口的操作使用的是VISA。
VISA是虚拟仪器软件结构体系(Virtual InstrumentSoftwareArchitecture)的简称。VISA是在所有LabVIEW工作平台上控制VXI、GPIB、RS232以及其他种类仪器的单接口程序库,是组成VXIPlug &Play系统联盟的35家大的仪器仪表公司所统一采用的标准。采用VISA标准后,就可以不考虑时间及仪器I/O选择项,驱动软件可以相互兼容。VISA的功能模块包含在LabVIEWInstrument I/O的VISA子模板中。
VISA驻留于计算机系统中,是计算机与仪器之间的软件连接层,用以实现对仪器的控制。VISA对于测试软件开发者来说是一个可调用的操作函数集,它本身不提供仪器编程能力,只是一个高层API(应用程序接口),通过调用低层的驱动程序来控制仪器。NI-VISA的层次如图11-8所示。
VISA的内部结构是一个**的、面向对象的结构,这一结构使得VISA和在它之前的I/O控制软件相比,在接口无关性、可扩展性和功能上都有很大提高。VISA主要由Config模块、Write模块、Read模块、Close模块组成,下面对这些模块做详细介绍。
VISAConfig模块对VISA资源信息如波特率、通信端口名称、数据校验、数据位等进行配置,并通过VISA resourceName端口将打开的VISA资源名称传递给下一个节点。
VISA Write模块把write buffer中的字符串写入VISAsession指定的设备中。dup VISAsession向下传送相同的session值。在UNIX工作平台上,数据同步写入;在其他工作平台上,数据异步写入。returncount返回实际传送的字节数。error in和error out字符串用于说明出错状况。
VISA Read模块读取由VISAsession指定设备中的数据。byte count指明读入read buffer中的字节数,当收到的字节数小于readbuffer中所指定的字节数时,VISA read 将会一直等待,直到收到的字节数等于read buffer中所指定的字节数。VISAsession向下传送相同的session值。同样,在UNIX工作平台上,数据同步读入;其他平台上的数据异步读入。
VISA Close模块关闭由VISAsession指定设备的通信过程,释放系统资源。
VISA仪器控制流程见图11-9。图11-10为串口读写程序示意图。
图11-8 VISA结构层次 图11-9 VISA仪器控制流程
图11-10 串口读写程序
11.1.5 程序编写
基于LabVIEW的PC与PLC串口通信程序的面板如图11-11所示。
根据永宏PLC的通信协议及数据操作流程,本程序采用顺序结构。顺序结构可实现数据流的顺序流动,打开串口和设置串口参数(如图11-12所示),波特率为9600Bps,串口号为COM1,偶校验(Even),7位数据位,数据停止位为10(如图11-13所示)。
图11-11 程序面板 图11-12 VISA串口配置
图11-13 开串口和设置串口参数
第二步写入命令。先要对命令进行判断,看其是否合法,后面板程序如图11-14所示。判断写入的命令是否超长,并将合法的数据组合成可写入的命令,后面板程序如图11-15所示。
图11-14 检查输入的命令合法性
图11-15 根据通信协议进行数据组合
串口写入过程需要时间,在这一步之后需要延时250ms,如图11-16所示。就是读串口返回值。通过VISA读取返回的数值(如图11-17所示),进行分析检验,判断所接收的数据是否正确。
图11-16 将数据写入PLC的R0寄存器
检验数据之后这个操作流程就结束了,可以关闭VISA串口(如图11-18所示)。
图11-17 读串口返回值 图11-18 关闭串口
11.1.6 实例小结
本例运用LabVIEW驱动配置方法
1.新建一个内部变量“qiehuan” INT型-----事件----选择函数“根据编号激活屏幕”并选择建立的前面建立的变量设置对象号0
2.查看要选择切换的画面---属性---常规----画面编号 如下图 根画面的编号为“1”
如下图 画面_1的编号为“2”
对应的往变量“qiehuan”中写入1 会画面会切换到编号为“1”的画面;如果往变量“qiehuan”中写入2画面会切换到编号为“2“的画面;依次律推。 3.在跟画面(编号为1) 建立一个按钮----事件---按下---“设置变量”对应的变量“qiehuan” 值为“2” 动作为:按下该按钮时,会将“2”写入 变量“qiehuan”中
4.同样在画面_1中建立一个按钮----事件---按下---“设置变量”对应的变量“qiehuan”值为“1” 动作为:按下该按钮时,会将“1”写入 变量“qiehuan”中
|
通过VISA建立了上位机与永宏PLC通信的程序,对于其他品牌和型号的PLC通信,同样可以使用该方法。同样,Modbus协议的设备间通信也可以使用此类方法。