西门子模块6ES7212-1AB23-0XB8产品齐全
西门子模块6ES7212-1AB23-0XB8产品齐全
1 引言
济南正昊化纤新材料有限公司化工三厂有一套年产15万吨聚酯熔体的装置,后面配套装置为年产7万吨短丝,剩余熔体经切粒机切成聚酯切片后包装成一吨袋装外销。包装机选用航天部十二所的一吨袋装自动称量包装系统,共有两套。系统采用可编程控制器进行自动控制,本文将重点讨论PLC在包装系统中的应用技术。
2 系统总体
此包装系统总体运用机电一体化技术。可编程控制器(PLC)和称重指示控制仪F701组成测控系统来完成切片的称量、计量、包装的生产工艺过程。该系统以PLC为控制中心,配以称重指示控制仪、气动执行机构、电动执行机构、自动控制部件和机械装置,实现切片的动态在线称重计量和包装工作。系统总统框图如图1。
2.1电控系统
包装机的控制部件由两部分组成。
(1)盘装部分:由主控柜、副控柜和两个现场操作盒组成。主控柜内主要有PLC和称重指示控制仪F701以及码盘设定器、袋计数器等。副控柜主要为交流接触器和热继电器,分别控制M1风机电机、M2提升机构电机、M4传送机构电机,其中提升机构由于有升有降,所以用了两个接触器。现场操作盒AR1用于料口升降控制,AR2用于传送控制。
(2)现场部分:
3个电机M1、M2、M3;
4个两位五通电磁阀配合气缸分别控制投料门1(电磁阀YV1)、投料门2(电磁阀YV2、)排料门(电磁阀YV4)和袋口夹松开(电磁阀YV5);
6个限位开关,SQ1为投料门关位置,SQ3为排料门关位置,SQ4、SQ5、SQ6、SQ7分别对应装袋提升机构的料口上位、下位、上限、下限;
3个称重传感器BP1、BP2、BP3;
1个光电开关SQ11用于检测料包到传送链板尽头。
主要的机械装置有称量料斗、板式输送机、装袋机构、控制门、排料门等。由于切片是粒状的均匀颗粒,同粉状物料相比流动性好且不粘附,所以靠自重来落料即可,料斗也不用做特殊操作。其中控制门采用的是双闸门,控制门1和2全开时为快投料,控制门2关闭1开启时为慢投料。
图1系统总体框图
点击此处查看全部新闻图片
2.2包装工艺过程
(1)称量过程:此系统有自动和手动两种操作方式,但手动方式也是由PLC实现的。手动方式主要用于调试、维修和排除故障,所以以自动操作为例介绍。
PLC向F701发扣除皮重信号后(此时净重立即设置为0),打开控制门1和2,由料仓向称量料斗快投料(快投料速度约23kg/s),当达到预置值时关闭控制门2,将快投料改为慢投料(速度约为2kg/s),当料量达到落差值时关闭控制门1,投料结束。稳定后PLC向F701发数据保持信号,F701自动的与设置的不足、过量、上限值比较,若适量则“称好”灯亮,若过量或欠量则“超差”灯亮并报警。
(2)提升机构动作及放料过程:将空袋夹在放料口上加好,按AR1的“料口升”按钮待“称好”灯亮后料口自动升到上位,风机启动充气15s,充气结束后打开排料门开始放料,当F701发出接近零信号后5s关闭排料门,然后自动松开袋口夹,同时袋计数加1,PLC向F701发一个皮重复位命令信号(取消去皮重操作),装满料的袋脱离料口放置在传送机上。
(3)传送过程:按AR2的“传送启动”按钮,M4启动自动传送一个袋位停止,由人工扎袋口,料口自动降至下位。以后每称好一袋,按传送启动按钮袋即顺序向前传送一个工位。如此循环往复。用叉车及时将传送机上的袋叉走。
欠量时允许通过按“慢投”按钮进行补料并自动达到适量;过量时系统除报警外无纠正措施,须按“强制”按钮打开排料门放料。
3PLC控制系统
3.1硬件配置
此包装系统的核心控制部分即为PLC。PLC选用的是和扩展性较好的欧姆龙的C200HE,其硬件配置如图2所示:
图2PLC布置图
点击此处查看全部新闻图片
(1)CPU选用SYSMACC200HE-CPU42-E,程序容量为7.2k字。
(2)数字量输入卡件(DI)共有4个。型号均为B型ID212的DC输入单元,此卡件支持16点直流电压输入。共使用了32个输入量,包括称重指示控制仪F701的控制输出信号和按钮、旋钮、限位开关的输入。
(3)数字量输出卡件(DO)共有3个。型号为B型OC222继电器输出单元2个,此卡件支持12点继电器输出;A型OD411晶体管输出单元1个,此卡件支持8点输出。共用了20个输出量,包括电磁阀、电机的控制信号、信号灯指示和送到F701的控制信号。
(4)电源和底板。电源选用PA204,底板选用8槽底板。
3.2PLC的程序
C200HE的程序用易于理解的梯形图来表示,当使用普通编程器时须把梯形图转换为助记符来输入。C200HE的程序结构虽不是模块化的,但在本系统中通过使用联锁和联锁解除指令—IL(02)和ILC(03)以及跳转和跳转终了指令—JMP(04)和JME(05)使的程序结构类似于模块化。此系统的程序共使用了4组IL、ILC指令。组用于检测控制门和排料门的限位开关是否到位,这两个限位开关到位与否是程序步进的关键点,若不到位程序将会停止,影响包装进度,所以必须及时报警通知操作人员。第二组内嵌套了2组JMP、JME指令,分别对应从称量到放料的自动操作过程和手动操作过程。第三组用于自动传送过程,第四组用于手动传送过程。
此包装系统的重量检测并未使用模拟量输入卡件,而是通过使用三个并联的称重传感器和称重指示控制仪F701共同检测出来。F701是专门用于单一物料重量称量和控制的仪表,重量这一模拟量信号由F701来处理,而PLC与F701全部是数字量的交接信号。这样使此系统的PLC处理的全是数字量信号,在使控制精度大大提高的同时也使的编程相对简单,无需使用复杂的命令,而且由于重量在掉电再送电后,及运行中发生故障停止运行至排除故障恢复运行后不发生变化,所以不用考虑数据保持功能,即不需使用PLC内的特殊存储器和相应的命令。自动操作程序流程图如图3所示。
下面结合投放料程序梯形图PLC语句来说明一下此包装系统的自动投料过程及PLC与称重指示仪F701的交接信号的关系。用到的DI信号有00000(接近0)、00001(预置值)、00002(落差值)、00003(量不足)、00004(量过量),以上信号均是从F701送到PLC,还有00009(自动方式的旋钮开关)、00301(限位开关SQ1,投料门关闭时闭合)、00303(限位开关SQ3,排料门关闭时闭合);DO信号有00700(去皮重信号)、00701(皮重复位信号)、00701(数据保持信号),以上信号均从PLC送到F701,00600(投料门1开)、00601(投料门2开)、00602(排料门开)、00603(袋口夹松开)。在PLC程序中落差值这一信号有时也当作终值信号使用,因为重量到落差值时关闭控制门结束投料,时间上只存在阀门关闭用时的间隔,落差值的大小就是关闭控制门后还没有落到料斗内的切片重量。程序梯型图如图4所示。
投料条件:第1、2句是系统次开机或每班次开始自动包装时的启动条件,此时投料门关闭着将进行投料了。第3句是是第二包开始包装的启动条件,此时上一包已投料完毕,袋口夹已松开投料门也关闭着。第4句是在上两个条件任意一个满足且排料门关闭着时具备了投料条件。
投料过程:第5句是在投料前PLC向F701发一个0.12秒的脉冲进行去皮重操作,此时F701将净重立即设置为0。第6、7、10、11句,内部I/O位09010是重量未到预置值,这之前00600、00601均动作打开投料门1、2,此时为大投料;预置值00001到时09010为0,此时00601失电投料门2关闭改为小投料。03009是重量未到终值(落差值),这之前00600动作打开投料门1,即预置值已到而终值未到时投料门1开着,此时为小投料,终值到时03009为0,00600失电关闭投料门1,结束投料。
放料过程:第8、9句是称量斗终值已到4.5s后,PLC向F701发数据保持指令,此时进行重量比较。第12、13句,03006是充气结束标志,排料控制09012为重量未超差且充气结束后为1,此时00602得电打开排料门放料,放料到接近0后5s09012为0,00602失电关闭排料门可保证料已排尽。第14句是排料结束后PLC向F701发一个0.12s的脉冲进行皮重复位操作,即取消投料前的去皮重操作。这样循环返回后再进行去皮重操作,保证每次称量的都是净重量。
图3自动操作程序流程图
点击此处查看全部新闻图片
图4投放料程序梯形图
点击此处查看全部新闻图片
4 结束语
包装是产品进入流通领域的必要条件,而实现包装的主要手段是使用包装机械。称量包装的准确与否将直接影响到企业的信誉和经济效益。C200HE虽是比较早期的产品,但由于包装机的操作人员就在现场,并不需要连接工控机、操作面板等显示操作设备,配以信号灯和报警音响即可,而且处理的信号全部是数字量的,所以C200HE在此包装系统中也是性价比很高的配置。此包装系统大包装能力为32袋/H,操作人员只需2至3人,操作简单方便。控制系统采用PLC控制,可确保系统的可靠性和控制jingque度。称量精度设计为1000kg±0.8k,该系统自使用以来,经过计量部门两次测试,整个系统的动态计量精度
1引言
HMI(人机界面)以其体积小,高性能,强实时等特点,越来越多的应用于工业自动化系统和设备中。它有字母、汉字、图形和图片等不同的显示,界面简单友好。配有长寿命的薄膜按钮键盘,操作简单。它一般采用具有集成度高、速度快、高可靠且价格低等优点的单片机[1]作为其核心控制器,以实现实时快速处理。PLC和单片机结合不仅可以提PLC的数据处理能力,还可以给用户带来友好简洁的界面。本文以Modbus通讯协议为例,详细讨论了一个人机系统中,如何用C51实现单片机和PLC之间通讯的实例。
2Modbus通讯协议[4]
Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以通信。
Modbus协议提供了主—从原则,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。主设备查询的格式:设备地址(或广播,此时不需要回应)、功能代码、所有要发送的数据、和一错误检测域。从设备回应消息包括确认地址、功能码、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。
控制器能设置为两种传输模式:ASCII和RTU,在同样的波特率下,RTU可比ASCII方式传送更多的数据,所以采用KTU模式。
(1)典型的RTU消息帧
典型的RTU消息帧如表1所示。
点击此处查看全部新闻图片
RTU消息帧的地址域包含8bit。可能的从设备地址是0...127(十进制)。其中地址0是用作广播地址,以使所有的从设备都能认识。主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。
点击此处查看全部新闻图片
RTU消息帧中的功能代码域包含了8bits,当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为;当从设备回应时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生(称作异议回应,一般是将功能码的高位由0改为1)。
从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代码所定义的行为。这包括了像不连续的寄存器地址,要处理项的数目,域中实际数据字节数。如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,主设备应用程序可以用来判断采取下一步行动。
当选用RTU模式作字符帧时,错误检测域包含一16Bits值(用两个8位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测(CRC)方法得出的。CRC域附加在消息的后,添加时先是低字节然后是高字节。
(2)所有的Modbus功能码
Modbus的功能码定义如表2所示。
3常用功能通讯程序的设计[5]
本文介绍了几个Modbus常用功能程序的设计。笔者采用单片机作为主机,在单片机上编写程序实现单片机与PLC之间的通讯。由单片机向PLC发出命令信息,PLC自动作出回应。PLC通过单片机的串行通讯口通讯,程序用C51实现。程序的子函数及其功能:
(1)串口初始化
voidProtocolInit(void)
函数功能:串口设置为异步通讯方式1(起始位1位,数据位8位,停止位1位);定时/计数器1设置为波特率发生器,通讯速率9600bps;开串行中断,并把串行中断设置为高优先级。
(2)CRC简单函数
unsignedcharCrc16(unsignedchar*puchMsg,unsignedcharusDataLen)
函数功能:先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。每个8位字符都单独和寄存器内容相或(OR),结果向低有效位方向移动,高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。终寄存器中的值,是消息中所有的字节都执行之后的CRC值。
(3)初始化变量
voidInitvar(void)
函数功能:初始化所有过程变量。
(4)串行中断服务程序
voidProtocolSerialProcess(void)interrupt4using2
函数功能:发送中断发送主机形成的命令数组,发送完后置标志位;接收中断接收PLC返回的响应数组,存入接收数组,并置标志位,且假设响应正确,留待主机处理。
(5)读N个位变量(线圈)
voidProtocolRead_bit(unsignedcharDeviceAddr/*PLC局号*/,unsignedcharRegType/*寄存器类型*/,unsignedintBitAddr/*起始地址*/,unsignedcharSubAddr/*子地址*/,unsignedintBitNum/*位数*/)
函数功能:根据函数参数,形成读N个位变量的命令数组,启动发送。等待发送完并接收完(如超时未接收完则重新发送)。分析接收数组:正确,保存读取的数据;错误,重新发送。
(6)写一个位变量
voidProtocolSetBit(unsignedcharDeviceAddr/*PLC局号*/,unsignedcharRegType/*寄存器类型*/,unsignedintBitAddr/*地址*/,unsignedcharSubAddr/*子地址*/,unsignedi
ntClrSet/*写值“1”或“0”*/)
函数功能:根据函数参数,形成置某位变量为“1”或“0”的命令数组,启动发送。等待发送完并接收完(如超时未接收完则重新发送)。分析接收数组:正确,返回;错误,重新发送。
(7)读N个字节变量
voidProtocolReadByte(unsignedcharDeviceAddr/*PLC局号*/,unsignedcharRegType/*寄存器类型*/,unsignedintRegAddr/*起始地址*/,unsignedcharSubAddr/*子地址*/,unsignedintRegNum/*个数*/)
函数功能:根据函数参数,形成读N个字节变量的命令数组,启动发送。等待发送完并接收完(如超时未接收完则重新发送)。分析接收数组:正确,保存读取的数据;错误,重新发送。
(8)写N个字节变量
voidProtocolSetByte(unsignedcharDeviceAddr/*PLC局号*/,unsignedcharRegType/*寄存器类型*/,unsignedintRegAddr/*起始地址*/,unsignedcharSubAddr/*子地址*/,unsignedintRegNum/*个数*/)
函数功能:根据函数参数,形成写N个字变量的命令数组(要写的数从某参数数组中读取),启动发送。等待发送完并接收完(如超时未接收完则重新发送)。分析接收数组:正确,返回;错误,重新发送。
4结束语
以上的程序已经通过实验,并应用于实际的人机系统中。依照类似的方法,可以编写其他不同功能的程序,实现对PLC的不同控制和操作。利用单片机和PLC进行优势互补,可以组成网络化、智能化的工业控制系统。另外整个单片机系统程序用C51语言编程,程序简洁,便于阅读与调试。单片机和人机界面结合可以实时的显示PLC的工作状况,实时的控制、设置、调整PLC工作情况,提高工业控制的自动化程度和实时性。