PLC与PC的通讯连接方式
首先,PLC置于停止模式,用编程软件连接PLC,如果能连上,则表明RS485转换器接线正确,否则可能是RS485的+、- 有误,对调一下再试,确保硬件接线无误后,可以用串口调试软件或Modbus主站仿1真软件测试,如果测试没问题,那就是上位机代码有问题。
目前,人们主要采用以下三种方式实现PLC与PC的互联通信:
一、通过使用PLC开发商提供的系统协议和网络适配器,来实现PLC与PC机的互联通信。但是由于其通信协议是不公开的,因此互联通信必须使用PLC开发商提供的上位机组态软件,并采用支持相应协议的外设。可以说这种方式是PLC开发商为自己的产品量身定作的,因此难以满足不同用户的需求。
二、使用目前通用的上位机组态软件,如组态王、InTouch、WinCC、力控等,来实现PLC与PC机的互连通信。组态软件以其功能强大、界面友好、开发简洁等优点目前在PC监控领域已经得到了广泛的应用,但是一般价格比较昂贵。组态软件本身并不具备直接访问PLC寄存器或其它智能仪表的能力,必须借助I/O驱动程序来实现。也就是说,I/O驱动程序是组态软件与PLC或其它智能仪表等设备交互信息的桥梁,负责从设备采集实时数据并将操作命令下达给设备,它的可靠性将直接影响组态软件的性能。但是在大多数情况下,I/O驱动程序是与设备相关的,即针对某种PLC的驱动程序不能驱动其它种类的PLC,因此组态软件的灵活性也受到了一定的限制。
三、利用PLC厂商所提供的标准通信端口和由用户自定义的自由口通信方式来实现PLC与PC机的互连通信。这种方式由用户定义通信协议,不需要增加投资,灵活性好,特别适合于小规模的控制系统。
PLC控制系统的软件设计
软件设计就是编写满足生产控制要求的PLC用户程序,即绘制梯形图或编写语句表。PLC的软件设计包括系统初始化程序、主程序、子程序、中断程序、故障应急措施和辅助程序的设计。
首先应根据总体要求和控制系统的具体情况,确定程序的基本结构,画出控制流程图或功能流程图,简单的可以用经验法设计,复杂的系统一般用顺序控制设计法设计。控制对象和对象之间关系的多样性,体现在PLC程序的编写上。这样采用一般面向过程的方法进行PLC编程会变得十分困难,且程序的调试和修改也同样十分困难。因此,必须采用面向对象的编程方法。主体思路有两条:
(1)为程序组中每个独立的被控对象或需要同时启/停的一组被控对象建立功能/数据模块FB/DB,被控对象在程序组中的联锁关系及自身控制要求都通过功能模块FB的外部属性和内部属性予以体现。
(2)为每个PLC控制系统的每个程序组分别定义和创建公用模块FC,每个公用模块FC的入口/出口条件作为公共对象的外部属性;把按功能划分的设备间的故障判定、功能输出等作为公共对象的内部属性。
PLC的功能块图编程
功能块图用来描述功能、功能块和程序的行为特征,还可以在顺序功能流程图中描述步、动作和转变的行为特征。功能块图与电子线路图中的信号流图非常相似,在程序中,它可看做两个过程元素之间的信息流。
功能块图普遍地应用在过程控制领域,功能块用矩形块来表示,每个功能块的左侧都有不少于一个的输入端,在右侧有不少于一个的输出端。功能块的类型名称通常写在块内,但功能块实例的名称通常写在块的上部,功能块的输入、输出名称写在块内输入、输出点的相应地方。
1、功能块图的信号流在功能块网络中,信号通常是从一个功能或功能块的输出传递到另一个功能或功能块的输入。信号经由功能块左端流入,并求值更新,在功能块右端流出。布尔信号的取反:在使用布尔信号时,功能或功能块的取反输入或输出可以在输入端或输出端用一个小圆点来表示,这种表示与在输入端或输出端加一个“取反”功能是一致的。信号反馈:功能块图允许功能块的输出反馈回网络左侧的功能块输入,形成反馈路径。
2、功能块网络设计功能,块图的设计首先应该保证主信号流的线路清晰,避免过多的信号跨接和线路方向改变。
3、功能块图的执行控制功能,块图网络中的功能执行控制隐含地从各功能所处的位置中表现出来。每一功能的执行隐含地由一个输入使能EN控制,该输入EN是一个布尔类型变量,允许功能有选择地求值。当输入EN为TRUE时,该功能就执行,否则功能不执行。功能的输出ENO也布尔变量,当ENO从FALSE变成TRUE时表明功能已经完成了求值。
4、跳转和标注功能,块图允许使用“Jump”功能使功能块图控制从程序的一个部分跳转到另一个由标识符“Lable”标识的部分继续执行。