产品描述
潮州西门子S7-200代理商
西门子S7-200系列PLC局部存储器区的使用方法
S7-200PLC有64个字节的局部存储器,其中60个可以用作暂时存储器或者给子程序传递参数。
局部存储器和变量存储器很相似,主要区别是变量存储器是全局有效的,而局部存储器是局部有效的。全局是指同一个存储器可以被任何程序存取(例如,主程序、子程序或中断程序)。局部是指导存储器区和特定的程序相关联。
几种程序之间不能互访。
局部存储器区是S7-200CPU为局部变量数据建立的一个存储区,用L表示。该区域的数据可以用位、字节、字、双字四种方式来存取。
(1)按“位”方式:从L0.0~L63.7,共有512点。
(2)按“字节”方式:从LB0~LB63,共有64个字节
(3)按“字”方式:从LW0~LW62,共有32个字
(4)按“双字”方式:从LD0~LD60,共有16个双字
西门子S7-200系列PLC子程序调用的作用及方法
调用子程序的好处
子程序可以把整个用户程序按照功能进行结构化的组织。一个“好”的程序总是把全部的控制功能分为几个符合工艺控制规律的子功能块,每个子功能块可以由一个或多个子程序组成。这样的结构也非常有利于分步调试,以免许多功能综合在一起无法判断问题的所在;而且,几个类似的项目也只需要对同一个程序作不多的修改就能适用。
调用子程序的规则
。子程序在调用时会保持当前的逻辑运算结果,但是不保存累加器(ACx)的内容 。
。子程序在执行到末尾时自动返回,不必加返回指令;在子程序中间也可以使用条件返回指令 。
。子程序不能使用跳转语句跳入、跳出 。
。子程序返回时,回到调用子程序的指令后面,继续执行上一级程序
。西门子S7-200 CPU多可以调用64个子程序(CPU226为128个) 。
。子程序可以嵌套调用,即子程序中再调用子程序,一共可以嵌套8层 。
。在中断服务程序中不能欠套调用子程序,被中断服务程序调用的。..。
。子程序中不能再出现子程序调用 。
。子程序可以带参数调用,在子程序的局部变量表中设置参数的类型;一共可以带16个参数(形式参数)
西门子S7-300系列PLC搜索地址的查询方法
问:比如我要查找 I0.0在哪几块里或哪几个程序段了使用是怎样查的?
答:1。打开Simatic 管理器,并打开你的程序,依次展开子目录,直至找到Bausteine(块),然后随便双击任何一个快,如OB1;
2。在大开的OB1块中,选择Options / Reference Data / Displays(选项/参考数据/显示),在出现的“Display S7 Reference data(显示S7参考数据)中选择”Regenerated“(重新产生),点击“是”,出现“顾客化”对话框,选择*项“交叉参考”;建立参考数据表;
3。在产生的交叉参考数据表中*列“地址”中双击I0.0,就会找到I0.0在哪几块里或哪几个程序段被使用
西门子S7-300系列PLC复位和格式化的方法
1:将操作模式开关转换从STOP位置到MRES 位置并保持至少3 秒钟,直到红色的“STOP”发光二极管开始慢闪为止。请释放开关,并且多在3 秒内将开关再次转到MRES 位置。当“STOP”LED 快闪时,CPU 已经被复位。如果“STOP” 发光二极管没有开始快闪,请重复执行此过程。
复位存储器的方法:将操作模式开关转换从STOP位置到MRES 位置,STOP LED 熄灭1s,亮1s,再熄灭1s后保持亮。放开开关,使它回到
STOP位置,3s内把开关又回到MRES,STOP LED以2Hz的频率至少闪动3s,表示正在复位,后STOP LED一直亮,可以松动模式开关,完成。
步骤 复位CPU 存储器
1. 将钥匙转至STOP 位置。
2. 将钥匙转至MRES 位置并保持在此位置,直至STOP LED *二次点亮并持续处于点亮状态(需要3 秒)。现在释放钥匙。
3. 必须在3 秒内再次将钥匙转至MRES 位置并保持不动,直至STOP LED 闪烁(频率为2 Hz)。现在即可释放开关。CPU 完成存储器复位后,STOP LED 会停止闪烁并始终亮起。CPU 已完成对存储器的复位。
使用以下步骤格式化MMC
如果CPU 请求存储器复位(STOP LED 缓慢闪烁),则可以通过对选择器开关进行如下设置来格式化MMC:
1. 将开关切换至MRES 位置并保持不动,直至STOP LED 点亮并保持亮起(大约9 秒后)。
2. 在随后的三秒内,释放开关并再次将其切换至MRES 位置。STOP LED 闪烁,指示正在进行格式化。
西门子S7-300系列PLC在编程时是否需要用到SCL
问:西门子S7-300编程必须要用到SCL吗,只用LAD怎么样?
答:S7 SCL是符合EN 61131-3(IEC 61131-3)标准的高级文本语言,也就是说支持该标准的任意厂家的PLC均可以使用与之相似的语言编程,支持强大的数据处理运算功能,一般深受IT人员的喜爱。SCL是STEP 7软件的一个可选附件包,标准版的只有 LAD,STL,FBD三种编程工具。它同STL、LAD、FBD属于同一个作用, SCL需要用单独的程序块来编写,需要编译后才能下载到CPU执行;LAD和STL可以在同一个程序块里编写。在STEP7没有安装SCL时,用其编辑的块都会以STL格式打开并显示。
S7 SCL 包含的语言结构与编程语言Pascal和C相类似,所以只要接触过Pascal、Delphi、vb等编程语言者,实现S7-SCL语言的快速入门是非常容易的,不必了解继电器原理,而且,即使是做逻辑控制也只需简单的编程语句就可以完成,所以S7 SCL特别适合于习惯于使用高级编程语言的人使用。这种语言适合于处理复杂的逻辑和大量的数学运算,由于其具有高级语言的编程结构,因此和S7的STL语句表编程方式比较起来有着更加方便的控制方式,可以这样说,只要是必须使用语句表的地方,我们均可以考虑使用SCL。
也许STL在执行时比SCL更加高效,但事实上也不一定,首先SCL可以编译成STL,同时 SCL设计时可以优化编程,而STL若运用不当,可能还会将低效率。当然在目前的这种系列的PLC上,效率对于我们来说已是次要的,我们更关心的是编程结构。就像在PC机上,舍弃了汇编语言,而主要采用C/C++等高级语言。总体来说,SCL适合于编写标准功能块,由于在维护中,它和STL一样,不象 Lad一样利于维护,因此这些标准功能块都应该有文档说明,以便用户了解其功能。STL源文件由文本组成,使用关键字在源文件中设定块结构、声明变量表和程序网络段,为将其编译成块,必须按一定规则编写其结构及语句。
当使用LAD(梯形图)/FBD(功能图)编程时,系统会自动添加严格的语法结构。而STL并不自动添加完整的语法结构(数据类型匹配,系统堆栈处理等)。应此LAD/FBD格式的程序可以转换为STL格式,而STL格式的程序并不一定可以转换为LAD/FBD。
SCL可以编译成STL。如果想再把STL*转换成LAD,难度很大,或者说不可能。把STL程序按功能组拆成逐个网络,然后或许大部分可以转换成LAD,但是无法保持程序的完整性,零零散散无法阅读。
做 PCS7项目,如果不学会SCL语言,做项目难度比较大,单纯使用CFC和SFC编程,由于工艺控制的复杂性和多样性,CFC图表会有大量的块,程序可读性不高,技术保密不了;用SCL编程可以把工艺联锁、工艺核心控制程序和工艺数据处理包装成一个FB块,CFC程序就简单多了。 PCS7是DCS系统,模拟量很多,而且程序一般都比较大。这种大型的程序通常都用高级语言工具来编写,例如SCL,CFC和SFC。他们编译以后生成STL,但是没有注释,阅读难度会非常大,一年都未必看的明白。工业控制软件发展到现在,大型程序通常都是用高级语言来编写,如SCL,CFC和SFC这样工作量会小很多很多。所以建议大家直接阅读学习SCL语言编写的程序。
对于STL、LAD、SCL等语言之间进行转换的问题,的确有些STL变成LAD是转不过来的。反过来行。LAD可以直接转SCL,但反过来不一定行,需要严格的按一定的格式写才能转回来,因为SCL是结构化编程语言,比LAD复杂。
总的来说,SCL适合软件工程师,LAD适合电气工程师,STL兼有优缺点,FBD适合电子工程师
产品推荐