西门子模块6ES7223-1HF22-0XA8参数介绍
2.3 命令帧
一个完整的命令帧由控制字符STX(02H)、命令码(CMD)、数据段、控制字符ETX(03H)以及和校验码五部分组成。其中,和校验码是从命令码到控制字符ETX的所有字符的ASCII码(十六进制)相加所得结果的低两位数。
①PC机“读”命令帧
“读”命令帧由报文开始标志、命令码、软元件首地址、软元件数据长度(字节数)、报文结束标志以及和校验码组成。
当通信正确时,PLC返回的应答帧由报文开始标志、数据段、报文结束标志以及和校验码组成;通信出错时,PLC应答“NAK”。
②PC机“强制ON”命令帧
PC机“强制ON”命令帧由报文开始标志、命令码(37H)、软元件地址、报文结束标志以及和校验码组成。接收命令正常时,PLC应答“ACK”;接收出错时,PLC应答“NAK”。
③PC机“强制OFF”命令帧
PC机“强制OFF”命令帧由报文开始标志、命令码(38H)、软元件地址、报文结束标志以及和校验码组成。接收命令正常时,PLC应答“ACK”;接收出错时,PLC应答“NAK”。
④PC机“写”命令帧
PC机“写”命令帧由报文开始标志、命令码、软元件首地址、软元件数据长度(字节数)、待写入软元件的数据、报文结束标志以及和校验码组成,如图3所示。写入正常时,PLC应答“ACK”;写入出错时,PLC应答“NAK”。
图3 “写”命令帧
3LabVIEW程序设计
在LabVlEW编程中,系统利用虚拟仪器软件规范VISA(virtualinstrument softwarearchitecture)实现串行通信。VISA本身并不具有仪器编程能力,它通过调用相应设备驱动器的高层应用程序编程接口(API)进行编程。
对端口进行配置,发送“ENQ”信号给PLC请求通信,在收到PLC返回的“ACK”信号后,PC机连续对PLC进行“读取”和“写入”操作,通信结束后关闭端口。PC机和PLC串行通信的程序结构如图4所示。
图4 串行通信程序流程图
3.1 串口初始化
串口按照Fx系列PLC的标准通信参数进行配置:①波特率为9600 bit/s;②数据比特为7位;③奇偶校验方式采用偶校验;④停止位为1位。
3.2 请求通信
开始通信时,PC机发送“ENQ”指令查询PLC是否准备好,也检查PC机到PLC的连接是否正确。当接收到字符后,若PLC处在RUN状态,则要等到本次扫描周期结束时才应答;若PLC处在STOP状态,则马上应答。通信正常时,PLC应答“ACK”;通信出错时,应答“NAK”。
3.3 读取PLC软元件状态
程序通过VISA写入节点发送命令字符“0”读取PLC相应软元件的状态,VISA读取节点获得PLC返回数据。写入和读取的字符串都是十六进制形式的。通过对读取的字符串的拆分可获得相应软元件每一位的状态,从而起到监视PLC的作用。
3.4 数据写入PLC软元件
程序通过VISA写入节点发送命令字符“1”对相应的软元件进行写入操作,VISA读取节点获得PLC返回的应答帧,若写入正确,PLC应答“ACK”;若写入错误,PLC应答“NAK”。将写入数据传送至PLC软元件所对应的地址,即可对软元件的任意位进行实时操作。数据写入PLC的程序框图如图5所示。
图5 数据写入PLC的程序框图
3.5 关闭串口
通信结束后,需使用VISA关闭节点关闭串口设备,否则程序会一直占用串口资源,导致其他程序无法访问。
4结束语
以PC机和PLC分别构成上、下位机的监控系统在工业控制中应用广泛。本文通过编程口直接实现三菱PLC与PC机之间的串行通信,无需使用通信模块,既节省了成本又简化了系统,具有较大的实用价值。结合相关硬件,本文以LabVlEW作为开发平台设计了相应的通信程序。实验结果表明,该通信方式方便简单、稳定可靠,具有广泛的应用
日本三菱公司的FX系列PLC在我国应用十分广泛,是目前上占有率较高的几种PLC机型之一。根据三菱公司提供的技术资料,在用户系统中,要实现PLC与Pc机串行通信,一般还需购买FX-232-BD通信模块;而PLC自身所带的编程口在下载完程序后处于闲置状态。若能直接利用编程口实现PLC与PC机串行通信,将有利于节约资源。
PLC主要面向生产现场,具有使用方便、可靠性高和抗干扰能力强等优点。PC机直接面向用户,在数据处理、图像显示和打印报表等方面具有显著优势。将PC机与PLC以上、下位机的形式联合起来应用,可以更有效地发挥各自优势,互补应用上的不足。
LabVIEW是美国NI公司开发的一个基于计算机的虚拟仪器开发平台。强大而灵活的仪器控制功能是LsbVIEW区别于其他编程语言的主要特点,LabVIEW在数据采集、仪器控制、过程监控和自动测试等领域有着广泛的应用。
1 系统硬件构成
三菱FX系列PLC自带的编程口是RS-422接口,而PC机的串行通信口则是RS-232C接口,两者之间需要通过SC-09适配电缆才能通信。不同设备上相同类型的通信接口的引脚定义可能存在差异。PC机与三菱FX系列PLC上的通信接口引脚定义如图1所示。
图1 接口引脚定义
RS-422和RS-232C是两种不同标准的串行数据接口,两者的主要差别在于信号传输方式不同。RS-232C标准利用信号线与公共地线之间的电压差进行信号传输,采用的是单向传输方式;RS-422标准则是利用传输线之间信号的电压差进行传输的,采用的是差动传输方式。SC-09电缆实现了这两种不同的信号传输方式之间的转换,其内部电路如图2所示。
图2 SC-09电缆内部电路
2 通信协议
PC机与PLC之间有两种通信方式:一种是PC机具有优先权而PLC始终被动响应Pc机发来的命令;另一种则是PLC具有优先权,将命令发送给PC机,并接收来自PC机的响应。本文采用的是前一种通信方式。
为实现Pc机与FX系列PLC编程口之间的通信,系统采用的是编程口专用通信协议。
2.1 控制字符
在PC机与FX系列PLC的串行通信中,数据是以帧为单位发送和接收的。其中,控制字符ENQ(05H)、ACK(06H)和NAK(15H)可以构成单字符帧心1,其余的字符帧在发送或接收时都必须用控制字符STX(02H)和ETX(03H)分别作为该帧的起始标志和结束标志。
各控制字符的意义如表1所示。
表1 控制字符意义
2.2 命令代码
PC机对PLC相应软元件的操作是通过“0”、“1”、“7”、“8”四个命令符来实现的,各命令符的含义如表2所示。
表2 命令字符含义
回参考点接近开关SQ2.0与定位模块FX2N-1PG的DOG相接,FX2N.1PG的正向FP和反向RP脉冲输出口分别与MRJ2S的PP和NP口相接,其余连线按标准连接。
3、程序编制
位置控制PLC程序由FX-PCS/WIN-C编程软件实现。程序由定位模块初始设定、参数计算、位置编辑及执行、伺服状态指示和报警等部分组成。
3.1 定位模块初始化设定
在全行程位移x上,定位模块初始化设定完成手动速度高值设定、回参考点速度和接近速度设定、加减速时间设定、标志和状态显示设定等。其中,回参考点如图3所示。
图3 回参考点示意图
回参考点功能启动后,滑块先以v1速度快速向参考点方向运动,碰到减速开关SQ2.0产生DOG信号,伺服电机转速迅速降低,滑块以v2接近速度慢速移动。当增量式光电编码器产生一转脉冲(零标志)时,电机停止,滑块所停位置即为参考点位置。回参考点PLC梯形图如图4所示。
图4 回参考点PLC梯形图
3.2 定位位置和速度设定
在这一部分中,主要完成定位位置和速度设定,并在每一定位点执行任务。图5为定位控制和任务执行示意图。
图5 定位控制和任务执行
滑块先以速度v1移至位置1,在位置1执行任务A,完成后,再以速度:移至位置2,执行任务B。依次类推,直到整个工序完成。相应的PLC梯形图如图6所示。
图6 定位位置和速度设定的PLC梯形图
4、结语
利用PLC定位模块可充分体现控制系统灵活、可靠性高的特点,与数字式交流伺服系统可组成高精度的位置控制系统。在给出的PLC程序基础上,根据不同的工艺要求,充分利用PLC的I/O,将每一定位点上所要完成的任务嵌套在定位程序中,充分发挥PLC顺序控制的功能。本位置控制装置在上海电机学院投入实验、实训已近3年,运行可靠,定位正确,扩展灵活,设备调试现场感强。本装置若采用二轴定位模块,可实现平面定位的功能,以满足平面定位的控制要求。
对单片机、工控机进行位置控制来说,采用可靠性高,程序编辑、修改和调试便捷的可编程逻辑控制器(PLC)以及定位模块集成进行位置控制,无须花太多的精力放在硬件处理上,采用积木式结构便可很快形成控制系统。
定位模块FX2N-1PG是三菱PLC功能模块之一,可单轴控制,脉冲输出大可达100KB/s。针对定位控制的特点,该模块具有完善的控制参数设定,如定位目标跟踪、运行速度、爬行速度、加减速时间等。这些参数都可通过PLC的FROM/TO指令设定。除高速响应输出外,还有常用的输入控制,如正反限位开关、STOP、DOG(回参考点开关信号)、PG0(参考点信号)等。还内置了许多软控制位,如返回原点、向前、向后等。对这些特定的功能,只要通过设置特定的缓冲单元已定义的位就可实现。
1、系统组成
图1是采用FX2N-1PG定位模块的位置控制系统组成。其中:滑台的定位控制由交流伺服电机通过滚珠丝杠来带动,滑台的正反向运动由电机的正反转控制,滑台移动的速度由电机的转速决定。伺服电机由MR-J2S伺服装置驱动,MRJ2S接受FX2N-1PG定位模块发出的正向或反向位置脉冲信号;FX2N-1PG和FX2N-32MT通过数据线连接,进行数据通信。位置和速度数据由触摸屏F930GOT通过RS422输入。
伺服电机末端的光电编码器将丝杠的角位移和电机转速以脉冲的形式反馈至MR-J2S的CN2口,在MR-J2S中完成位置控制和速度控制。整个位置控制系统实际上是位置半闭环的伺服系统。
图1 控制系统组成
2、系统接口
图2是位置控制系统的接口示意图。
图2 系统接口
端口定义如下:
x0——正限位,接近开关SQO.0输入;
x1——负限位,接近开关SQ1.0输入;
x2——伺服准备好输入信号,来自MR-J2S伺服驱动SV RDY输出;
x3——伺服报警输入,来自MR-J2S伺服报警ALM输出;
x4——紧停开关输入;
X5——伺服结束信号输入,来自MR-J2S伺服驱动INP输出;
Y0——紧停输出;
Yl——伺服ON;
Y2——复位输出;
Y3——伺服正限位输出;
Y4——伺服负限位输出;
Y5——伺服停止输出。