PLC在工业控制领域被广泛应用,他就像是机器的大脑一样,控制着机器有序的工作。如何使得PLC这个大脑有序的工作,完全取决于PLC编程人员的能力。往往一个好的编程程序习惯可以让事情事半功倍。下面,就为大家整理一些西门子PLC的软件编程小窍门。
1.程序结构
一个完整的程序可分为几个部分:
【初始化程序】:一般是上电时调用一次,用来初始化设备,简单化的初始化程序需要在初始化的时候复位整个工艺设备到零位。复杂化的初始化程序需要在这里调用设备之前的执行信息,即延续上次停机时的执行过程。我们一般使用SM0.0(上电时保持一个周期的ON)来使能初始化程序。
【主程序】:主程序这里是用来循环执行的,确保设备的正常工作。
【子程序】:子程序一般为设备执行的不同工艺(工序)。供主程序调用。一些重复多次使用的代码可以编写为子程来调用。
【内存分配】:内存分配一般是用来规划PLC的内部寄存器的区域和适用范围,方便编程和调取,方便上位机的通讯使用。
2.关于内存分配技巧
一般在编程时我们会将内存分配为不同的区域段,例如:
【VW0-VW99】:通讯动态调用区域,写一些中建变量等。
【VW100-VW199】:采集结果保存区域。温度、压力等。
【VW200-VW299】:通讯区域,部分为上位机读取区域,部分为写入区域或者可读写区域。
……
【VW2000-VW3000】:库存储区,用于加载库文件的存储区域。
*说明:良好的内存规划习惯会使得编程特别便捷和明了。也提高了程序的可读性。配合自定义的变量名使用会使得整个程序的二次读写性更好。
3.变量名规划
良好的变量名规划可以高效的完成程序的编写,例如:
VD100:WD1-f(浮点型温度值1)
VD104:WD2-f(浮点型温度值2)
VB108:ZT1-b(字节型状态值1)
VW109:ZS1-w(字型转速值1)
其他物理量类似。用户也可使用英文名缩写等……
在规划变量时好的方式是将相同类型的变量连续规划。就是好是以十为单位进行区域段划分这样调用时比较清晰明了。例如:
【VD100-VD120】:WD1-f……WD5-f(多余部分可留作备用,一般都会预留备用点,一备程序后期扩展使用)
【VB130-VB139】:ZT1-b……ZT10-b
4.关于西门子200系列PLC的内存关系图