产品描述
西门子模块6ES7253-1AA22-0XA0技术支持
4.2 置位/复位指令设计法
使用置位/复位指令设计的梯形图程序,如图5所示。在程序中,每个过程对应一个内部继电器,用前级步对应的内部继电器的常开触点与转换条件对应的触点串联,作为后续步对应的内部继电器置位的条件,用后续步所对应的内部继电器的常开触点,作为有前级步对应的内部继电器复位的条件。如小车在原位A处,按下SB1,X0接通,R1置位驱动Y0,开始装料并定时,用R1的常开触点与T0的常开触点串联作为R2的置位条件,用R2的常开触点作为R1的复位条件,当定时时间一到,R2置位驱动Y1,小车前进,R1复位。为使系统能周期性循环工作,用R8(R8置位驱动Y3,小车后退)和R0的常开触点串联,与X0并联作为R1再次置位的条件。对简单顺序控制系统也可直接对输出继电器置位或复位。该方法再增加内部继电器来记忆小车经过X3的次数,逻辑顺序转换关系十分明确,对于初学者编程时,加容易理解和掌握。
4.3 保持指令设计法
使用保持指令设计的梯形图程序,如图6所示,该编程技术与以置位/复位指令的编程技术基本类似。不同之处是:保持指令的置位控制端不能有多个触点并联输入,因此增加了一个内部继电器R9,初始启动或循环工作时,R9置位,从而使R1置位;另外,使用保持指令所编制的程序步数要比置位/复位指令所编制的程序步数要少得多,占用的内在大为减少。
SR左移位寄存器指令的功能只能为内部继电器WR的16位数据左移1位。该指令主要是对数据输入,移位脉冲输入,复位输入信号的处理。数据在移位脉冲输入的上升沿逐位向高位移位一次,位溢出,当复位信号输入到来时,寄存器的所有内容清零。
使用SR左移位寄存器指令设计的梯形图,如图7所示,SR指令的数据输入控制端为R1的常开触点,移位脉冲输入控制端为R2的常开触点,复位信号输入控制端由X2、R37(R37置位驱动Y3,小车后退)的常开触点和R0的常闭触点串联组成。起初在原位A处,由于WR3的所有位均为0,R1置位,当X0接通,R0置位,R2接通一个周期,1被移入末位,R30置位驱动Y0,开始装料并定时,同时R1复位;当定时时间一到,R2再接通一个周期,R31置位驱动Y1,小车后退;只要R2得到信号一次,就把内部寄存器内WR3中各位的数据依次向左移位一次,使R30至R37依次得电,系统以此按顺序工作,直至完成一个周期,R1重新置位,系统开始下一轮周期的工作。
当X1接通时,R0复位,,系统完成本周期的工作后,WR3的所有内容清零,系统停止工作。
该方法设计的梯形图看起来简洁,设计的效率也得到进一步的提高,容易被初学者理解和接受。这种设计方法不仅可以用于送料小车自动往返顺序控制电路中,在彩灯顺序控制电路中的应用也十分广泛。
4.5 步进指令设计法
步进指令是专门为顺序控制设计提供的指令,步进指令按严格的顺序分别执行各个程序段,每个步进程序段都是相对立的,只有执行完段程序后,下一段程序才能被。在执行下一段程序之前,PLC要将此前步进过程复位,为下一段程序的执行做准备。在各段程序中所用的输出继电器、内部继电器、定时器、计数器等都不允许出现相同编号,否则按出错处理。
使用步进指令设计的梯形图程序,如图8所示,
X0与X2串联作为启动步进信号,X2与R0常闭触点串联作为步进结束信号,X2与R0常开触点串联作为周期性循环工作步进启动信号,T0、X3、T1、X2、T0、X4、T1分别作为过程0~过程7之间的转换控制信号。
图8 步进指令设计的梯形图
这种编程技术很容易被初学者接受和掌握,对于有经验的工程师,也会提高设计效率,程序的调试、修改和阅读也很容易,使用方便,在顺序控制设计中应考虑,该法在工业自动化控制中应用较多。
5 结束语
本文提出基于运料小车自动往返顺序控制系统的五种PLC程序设计方法各有特点,在实际应用中,可根据实际情况选择一种来设计程序,以适应不同场合的控制要求。实践表明,这些程序设计方法很容易被设计者接受和掌握,用它们可以得心应手地设计出任意复杂的顺序控制程序,从而提高设计的效率和缩短生产周期。
96:在STEP7中打开一些对象时出错是什么原因?
有的时候您在打开某些项目中的对象时,STEP7会弹出报错窗口,错误信息为 ’*.dll’文件无法被装载,代码是257:5,
错误信息是一个或多个对象不能被显示,出现这种错误的原因是您没有安装与要打开对象相关的软件包。
97:如果想通过上位或触摸屏对PLC中S5TIME类型的参数进行设定,有什么方法?
1、 从上位机写整型数INT或实数REAL到PLC,该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。
2、 从上位机写WORD到PLC,该数值需包含以某时基为单位的时间值,在写入PLC的数据存储区后,用Word Logic下的WOR_W指令将该值与其时基相或,再利用MOVE指令将得到的数值写入S5TIME类型的变量中。
3、 如果使用WinCC作为上位软件,或上位软件支持32位带符号浮点数,可以从上位写32位带符号浮点数到PLC中定义为TIME的变量,然后在程序中调用FC40,将TIME转换成S5TIME即可。
98:STEP 7中相关时间处理和转换的功能块有哪些?
SFC 0 "SET_CLK" 设置CPU时钟
SFC 1 "READ_CLK" 读出CPU时钟
FC 3 "D_TOD_DT" 从DATE_AND_TIME 中取出DATE。
FC 6 "DT_DATE" 从DATE_AND_TIME 中取出the day of the week,即星期几
FC 7 "DT_DAY" 从DATE_AND_TIME 中取出时间
FC 8 "DT_TOD"
FC33用于S5TIME到TIME的转换
FC40用于TIME到S5TIME的转换
99:如何实现带电拔出或插入模板,即热插拔功能?
硬件要求:
使用普通的S7-300导轨和U型总线连接器是不能实现热插拔功能的,您购买有源总线底板,才能实现该功能。另外,您在配置时,使用MLFB 6ES7 153-1AA02-0XB0版本以上的接口模块,因为它支持DP协议的DPV1版本,而MLFB IM153-1AA00-0XB0模块是不支持该功能的。目前您能够购买到的IM153接口模块都支持热插拔,只有2-3年以前的IM153接口模块不支持热插拔。
软件要求:您在STEP7 5.1版本以上进行配置;
如果您采用S7-400 CPU或S7-400 CP作为DP主站,那么您可以直接在IM153的属性窗口的"Operating bbbbbeters"标签页里配置热插拔功能。
1:在STEP7的硬件组态窗口的PROFIBUS DP目录中选择相应IM153模块,可以看出该模块支持“module exchange in opration”(热插拔);
2:将IM153模块拖到PROFIBUS总线上;
3:选择I/O模块,插入到ET200M站的各个槽位中;
4:双击ET200M站,打开属性窗口,选中“Replace modules during operation“(热插拔)选项;
5:属性窗口中提供了ET200M站热插拔功能所需的有源总线导轨的订货号;
6:属性窗口中提供了该型号IM153,插入的I/O模块对应使用的有源总线底板的订货号;
除了以上的硬件组态之外,还要向S7-400中下载OB82、OB83、OB84、OB85、OB86、OB87、OB121、OB122等组织块。当ET200M从站上进行模块的热插拔时,中断组织块OB83 ,OB85,OB122被调用。
如果您采用S7-300 CPU 或 CP 342-5作为DP主站,那么您只能够通过安装GSD文件的方式将IM153模块组态成DP从站,并双击IM153,打开它的属性窗口,进行设置。否则您在STEP7的硬件组态窗口中直接将PROFIBUS DP目录ET200M文件夹下IM153模块挂在PROFIBUS总线上。
100:我如何做到对自己的程序块进行加密保护?
您能够通过STEP7软件的KNOW_HOW_PROTECT功能实现对您程序代码的加密保护。
如果您双击鼠标打开经过加密的程序块时,您只能看到该程序块的接口数据(即IN, OUT 和 IN/OUT 等类型的参数)和注释信息,而程序块中的代码及代码的注释,临时/静态变量是不能被看到的。同时您也无法对加密保护的程序块做出任何改动。
如何实现程序块保护:
1. 打开程序编辑窗口LAD/FBD/STL;
2. 将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单 File— ;Generate source 生成);
3. 在LAD/FBD/STL 窗口中关闭您的程序块,并在SIMATIC
Manager项目管理窗口的source文件夹中打开上一步所生成的source文件;
4. 在程序块的声明部分,TITLE行下面的一行中输入”KNOW_HOW_PROTECT”;
5. 存盘并编译该source文件(选择菜单FileàSave,FileàCompile);
6. 现在就完成了您程序块的加密保护;
86:如何实现在从站断电、通讯失败或从站通讯口损坏等现象出现时,主站能够不停机?
需要在您的STEP7项目中插入相应组织块。插入这些组织块时,不需要编程内容,当从站断电、通讯失败等现象出现时,主站只报总线故障,但不停机。这样,无论从站先上电,还是主站先上电,系统都能正常运行:
在S7-300中加入OB82、OB86、OB122; 在S7-400中加入OB82~OB87、OB122;
87:CP342-5连接上位机软件或操作面板时应该选择什么工作模式?
如果您只是用CP342-5连接上位机软件或操作面板(OP),这时通讯采用的是S7协议,那么建议您选择No DP模式,并且不需要调用FC1(DP_SEND)和FC2(DP_RECV)功能块,它们只是在PROFIBUS DP通讯时才使用;
88:为什么系统上电后,即使CP342-5开关已经拨至Run,但始终处于STOP状态?
应当检查STEP7程序和组态是否正确(删除程序,只下载硬件组态)、检查CP342-5连接的24V电源线是否正常、M端是否与CPU的M端短接、通讯电缆连接是否正确(确认通讯电缆未内部短路),CP的firmware是否正确。如果您确认可以排除以上原因,那么可能您的CP342-5已经损坏,请换;
89:如何用CP342-5组态PROFIBUS从站?
1.在STEP7中生成一个新的项目,并插入一个S7-300站。
2.在硬件组态窗口中选择一个S7300的导轨以及相应的CPU。
3.硬件组态窗口中,在路径 "SIMATIC 300 > CP 300 > PROFIBUS > CP342-5" 选中于您订货号和版本号对应的CP342-5,插入到S7300站对应的槽位中,注意如果您购买的是Version5.1,而组态中只能够找到Version5.0,您可以选用Version5.1替代Version5.0.。
4.在插入CP342-5的过程中,会弹出一个PROFIBUS属性窗口,请点击”New…”按钮,创建一个PROFIBUS网络PROFIBUS(1) ,并设定CP342-5作为从站的站地址为3。
5.双击CP342-5,打开CP342-5的属性窗口,在"Operating Mode" 标签页下选择"DP Slave" 选项,此时会弹出一个警示窗口,告知您如果要用CP342-5实现CPU和 PROFIBUS从站的通讯,调用FC1(DP_SEND)和FC2(DP_RECV)功能块,实现CPU与CP342-5之间的数据交换,而CP342-5与PROFIBUS的数据交换是自动完成的,不用编程。FC3和FC4用于诊断和通讯功能的控制,一般不用调用。
6.点击OK ,存盘编译。.
90:如何用CP342-5组态PROFIBUS主站?
1.在STEP7的SIMATIC Manager窗口中在插入一个S7300站;
2.重复以上组态从站步骤的2-4步,注意插入CP342-5时,不能点击”new…”按钮,而直接用鼠标选中以上创建的PROFIBUS(1)网络,点击OK;
在"Operating Mode"标签页中选择"DP Master"选项;
产品推荐