SIEMENS浔之漫智控技术有限公司西门子深圳PLC模块总代理
软件标准iec 61131-3与s7-300/400的程序结构是比较接近的,可以看得出来iec 61131-3采用了s7-300/400程序结构的基本思想,包括s7-300/400使用的名称,例如功能和功能块。两者的功能(fc)除了输出参数的个数外,没有本质的区别。两者较大的区别在于iec 61131-3根本就没有数据块,所以fb也没有背景数据块。但是在功能块实例化(被调用)时,操作系统会给每次调用分配一个单独的存储区域,用来保存功能块的局部变量的值。这个存储区实际上相当于s7-300/400功能块的背景数据块,只是对用户来说不是透明的,用户不能访问它。
个人认为s7-300/400的程序因为数据块复杂了很多。例如书写数据块内的地址要说明数据块的编号,或者采用opn指令打开数据块。参数类型pointer和any为数据块增加了两个字节。为了减少背景数据块又搞了个多重背景。当然数据块也有它的优点,便于管理和监控数据,对于大型系统较是如此。背景数据块中的数据本来应该是fb的被控对象私有的,允许别的块访问,破坏了它的私有性,但是访问背景数据块在编程时有时也会带来方便
西门子的s7-300的mmc存储卡,用普通mmc读卡器,用软件s7imgrd1.01读mmc程序镜像,生成扩展名为s7img镜像文件。
同时可直接在s7imgrd1.01里看到程序的密码(如果程序加密的话)。再用unlock_and_converter_mmc_image_s7v v4.11.exe软件打开刚生成的镜像文件,用password菜单仍然可以程序密码。单击“converter”菜单生成wld文件。
用step7打开(在文件菜单-存储卡文件-打开)刚生成的wld文件,这时就可以看到程序了。
然后,再新建一个s7-300的项目,随便插入一个cpu,然后编译一下。将打开的wld文件里的所有程序块包括系统数据块一起复制到刚才生成新300项目中,覆盖所有文件。
打开plcsim软件,将这个s7-300项目下载到plcsim里(注意不要下载硬件组态,只是下载块文件夹里的所有块,包括系统数据块),然后从plcsim里上载程序就可以了,上载后就可以看到硬件组态了,即已经完全还原了mmc卡里的程序了
a)与运算b)或运算c)或/与运算d)与/或运算
由图1可知,当一个逻辑函数用逻辑变量的基本运算式表达出来后,实现这个逻辑函数的梯形图也就确定了。
2.组合逻辑设计法的编程步骤
组合逻辑设计法适合于设计开关量控制程序,它是对控制任务进行逻辑分析和综合,将元件的通、断电状态视为以触点通、断状态为逻辑变量的逻辑函数,对经过化简的逻辑函数,利用plc逻辑指令可顺利地设计出满足要求且较为简练的程序。这种方法设计思路清晰,所编写的程序易于优化,。
用组合逻辑设计法进行程序设计一般可分为以下几个步骤:
1)明确控制任务和控制要求,通过分析工艺过程绘制工作循环和检测元件分布图,**执行元件功能表。
2)详细绘制系统状态转换表。通常它由输出信号状态表、输入信号状态表、状态转换主令表和中间记忆装置状态表四个部分组成。状态转换表全面、完整地展示了系统各部分、各时刻的状态和状态之间的联系及转换,非常直观,对建立控制系统的整体联系、动态变化的概念有很大帮助,是进行系统的分析和设计的有效工具。www.
3)根据状态转换表进行系统的逻辑设计,包括列写中间记忆元件的逻辑函数式和列写执行元件(输出量)的逻辑函数式。这两个函数式组,既是生产机械或生产过程内部逻辑关系和变化规律的表达形式,又是构成控制系统实现控制目标的具体程序。
4)将逻辑设计的转化为plc程序。逻辑设计的结果(逻辑函数式)能够很方便的过渡到plc程序,特别是语句表形式,其结构和形式都与逻辑函数式非常相似,很容易直接由逻辑函数式转化。当然,如果设计者需要由梯形图程序作为一种过渡,或者选用的plc的编程器具有图形输入的功能,则也可以首先由逻辑函数式转化为梯形图程序。
3.组合逻辑设计举例
下面通过环形分配器的plc程序来进行说明:
(1)工作原理
步进电机控制主要有三个重要参数即转速、转过的角度和转向。由于步进电机的转动是由输入脉冲信号控制,所以转速是由输入脉冲信号的频率决定,而转过的角度由输入脉冲信号的脉冲个数决定。转向由环形分配器的输出通过步进电机a、b、c相绕组来控制,环形分配器通过控制各相绕组通电的相序来控制步电机转向。
如图2给出了一个双向三相六拍环形分配器的逻辑电路。电路的输出除决定于复位信号reset外,还决定于输出端qa、qb、qc的历史状态及控制信号-en使能信号、con正反转控制信号和输入脉冲信
1.概述
时序逻辑设计法适用各输出信号的状态变化有一定的时间顺序的场合,在程序设计时根据画出的各输出信号的时序图,理顺各状态转换的时刻和转换条件,找出输出与输入及内部触点的对应关系,并进行适当化简。一般来讲,时序逻辑设计法应与经验法配合使用,否则将可能使逻辑关系过于复杂。
2.时序逻辑设计法的编程步骤
1)根据控制要求,明确输入/输出信号个数;
2)明确各输入和各输出信号之间的时序关系,画出各输入和输出信号的工作时序图。
3)将时序图划分成若干个时间区段,找出区段间的分界点,弄清分界点处输出信号状态的转换关系和转换条件
4)plc的i/o、内部辅助和定时器/计数器等进行分配。
5)列出输出信号的逻辑表达式,根据逻辑表达式画出梯形图。
6)通过模拟调试,检查程序是否符合控制要求,结合经验设计法进一步修改程序。
3.时序逻辑设计举例
(1)控制要求有a1和a2两台电机,按下启动按钮后,al运转l0min,停止5 min,a2与a1相反,即a1停止时a2运行,a1运行时a2停止,如此循环往复,直至按下停车按钮。
(2)i/o分配x0为启动按钮、x1为停车按钮、y0为a1电机线圈、y1为a2电机接触器线圈。
(3)画时序图为了使逻辑关系清晰,用m0作为运行控制继电器,且用t0控制a1运行时间,t1控制a1停车时间。根据要求画出时序图如图1所示,由该图可以看出,t0和t1组成闪烁电路,
按下正转起动按钮x0或反转起动按钮x1后,要求小车在左限位开关x3和右限位开关x4之间不停地循环往返,直到按下停止按钮x2。图中y0控制右行,y1控制左行。y2为制动电磁阀。
将图所示的程序写入plc,检查无误后开始运行。用实验板上的钮子开关模拟起动、停止按钮信号和限位开关信号,通过观测与y0、y1、y2对应的led,检查小车的工作情况。注意按以下步骤操作,检查程序是否正确:
(1)用接在x0的钮子开关模拟右行起动按钮信号,即将开关接通后立即断开,观测控制右行的输出y0是否on。
(2)用接在x4的钮子开关模拟右限位开关信号,即将开关接通后立即断开,观测控制右行的输出继电器y0是否off,控制左行的输出继电器y1是否on。
(3)用接在x3的钮子开关模拟左限位开关信号,即将开关接通后立即断开,观测控制左行的输出继电器y1是否off,控制右行的输出继电器y0是否on。
(4)重复*(2)步和*(3)步的操作。
(5)用接在x2的钮子开关模拟停止按钮信号,即将开关接通后立即断开,观测y0或y1是否off,控制制动的输出继电器y2是否on。
(6)观测6秒后y2是否自动off。
如果发现plc的输入输出关系不符合上述要求,检查程序,改正错误。
2.较复杂的自动小车往返运动控制程序实验
在图所示系统的基础上,增加延时功能,即小车碰到限位开关x4后停止运行,延时5秒后自动左行;小车碰到限位开关x3后停止左行,延时3秒后自动右行。
编制上述动作的控制程序并写入plc,运行并调试程序,观察运行结果。
三、预习要求
仔细阅读实验指导书,根据要求设计出有延时功能的自动往返小车的控制程序梯形图。掌握互锁、按钮互锁等保护环节的硬、软件设计方法。
四、实验报告要求
(1)写出程序调试过程中出现的故障,并分析故障产生的原因及排除方法,记录调试结果。
(2)整理出较复杂程序的梯形图程序和运行结果。
(3)整理出上述程序的调试步骤。