• 西门子模块6ES7513-1FM03-0AB0
  • 西门子模块6ES7513-1FM03-0AB0
  • 西门子模块6ES7513-1FM03-0AB0

产品描述

产品规格模块式包装说明全新品牌西门值+ 包装说明 全新 - 产品规格子 现场安装

西门子模块6ES7513-1FM03-0AB0


在PLC编程软件规范里,变量命名本身就是一门学问。
西门子S7-200PLC的符号表就是做变量命名工作的,毫不夸张的说,每一个使用S7-200的人都应该熟练掌握它,如果你对它不屑一顾,觉得自己从来不用它也同样可以做得很好,那么,你还不能算一个真正的程序员。
使用符号表,有程序可读性更好,资源分配一目了然,修改灵活,输入纠错等优点。
不喜欢使用符号表的,我猜测原因之一可能是怕麻烦,速度慢。其实这是认识上的误区,熟练使用符号表后输入速度反而要快。不相信吧?
1.符号表具有自动完成功能,当有几个变量频繁交替使用时,不需要记忆区别,只需要键入符号名的前几个字母,就会自动提示,所以输入反而要快。
2.做过指法强化训练的人应该有体会,当一个单词或汉字编码中有连续字符需要用同一只手甚至同一个指头输入时严重的影响输入速度,如果一篇文章中的汉字大多数编码都依次分布在左右两只手上,输入速度会高很多,而且不容易出错。
比如地址变量VW3234,六个字符全部使用左手输入,速度慢,且易出错。直接出错后较难检查出来,符号名出错的话立即会有在线提示,而且编译不会通过。符号名降低出错率实际上是提高了速度。
两个符号名使用的小技巧:
一.快速修改变量地址
1.符号名使用中(否则,先CTRL+Y切换)
2.在符号表中直接修改符号对应的变量地址
3.OK
用符号表修改址有有个好处是数据块中的地址也会同时修改,这个比查找替换好用(数据块中不能选中某部分后在局部范围内全部替换)
二、快速修改符号名(比如符号名S1已在多处使用,现在想将它改成S2)
1.符号名未使用(如正在使用,先CTRL+Y切换)
2.在符号表中直接修改符号名字
3.CTRL+Y,符号名有效
4.OK
注意上面两个小技巧中,符号名是否使用中的条件正好是相反的。
正是因为上面两条快速修改的技巧,后期内存规划非常方便。在编程前可以不考虑内存位置安排,只定义符号名,内存地址可以随便输入(当然不要重叠),这样着重于功能实现与调试,完成后按内存规划要求,将符号名剪切粘贴调整排序,较后用Excel填充功能连续生成地址,一个程序使用到哪些内存,看看符号表一目了然。
增加一个比较另类的“技巧”,有时用这个方法比搜索准确
有时需要快速判断某变量或定时器是否重复使用,比如VW100
1.设VW100的符号名是S1(如果没用定义一个),令符号名使用中
2.直接修改符号名为一个未用的符号(如后面随便加一个后缀)为S1_ttttt
3.编码代码(不是全部编译),下面输出窗口提示错误数(如果为1则只存在1处引用)
4.滚动输出窗口,双击错误提示行,可快速定位到引用处
5.切换到符号表里撤销修改

这个方法在需要查连续查看多个变量引用数时比较方便,界面不需要切换(用查找法会不断变化当前光标)

西门子PLC可以使用的“程序变量”包括程序参数、局部变量(又称临时变量Temp)、静态变量(Stat)3种基本类型。

    (1)程序参数

    S7的程序参数用于传递逻辑块之间的数据。当采用调用式结构时,应通过参数定义执行被调用的逻辑块所需要的数据:也可以通过参数将被调用的逻辑块的执行结果返回给调用的块。

    在S7中,从参数的用途与功能上,程序参数可以分为输入参数(IN)、输出参数(OUT)、输入/输出参数(IN OUT)3种;从参数的性质上可以分为形式参数(bbbbat bbbbbeter)与实际参数( Actual bbbbbeter)2种。

    ①输入参数(IN):它是逻辑块执行所需要的基本输入参数,在逻辑块中只能进行“读”操作,必须由调用它的其他逻辑块予以赋值。

    例如,在图11-2.1中,信号A、B在逻辑块中为“触点”信号,它必须由调用它的块将其定义为IO.1、I0.2或Il.l、I1.2等具体而明确的输入地址(可以是**地址或符号地址,参见图11-2.2)。

 

    ②输出参数(OUT):它是逻辑块执行结果存储所需要的基本输出参数,在逻辑块中只能进行“写”操作,必须由调用它的其他逻辑块定义地址,执行结果可以用于其他逻辑块。

    例如,在图11-2.2中的信号C在逻辑块中为输出“线圈”信号,同样必须由调用它的逻辑块将其定义为QO.1或Ql.l等具体而明确的输出(可以是**或符号地址,参见图11-2.2)。

    ③输入/输出参数(IN- OUT):它是逻辑块执行所需要的基本输入/输出参数,在逻辑块中可以进行“读/写”操作,在逻辑块中一方面要求有“初始值”输入(初始值可以在变量表中设定),另一方面又可以进行输出。因此,必须由调用它的其他逻辑块或变量表给定“初始值”;但在逻辑块的执行过程中将改变参数值,改变后的输入/输出参数同样可以用于其他逻辑块。

    例如,在图11-2.2中的D在逻辑块中需要进行加“1”运算,它必须由调用它的块给定初始值( MW10),运算结果同时又保存在MW10中(参见图11-2.2)。

    ④形式参数与实际参数:在使用了变量后,功能块中所使用的信号与数据只能以“符号”的形式出现,如图11-2.2中的A、B、C、D等,这些“符号”称为形式参数(bbbbat bbbbbeter)。而在调用块中对“符号”所赋予的实际地址或实际数值,如图11-2.2中的IO.1、I0.2、QO.1、MW10等称为实际参数(Actual bbbbbeter)。

    (2)局部变量

    S7中的局部变量又称为“临时变量(Temporary)”,它用于存储逻辑块内部中间状态暂存的寄存器(堆栈L),堆栈的状态仅在所在的逻辑块内部生效,不可以用于其他逻辑块。

    (3)静态变量

    静态变量( Static)只能用于功能块FB,它存储在与功能块配套的即时数据块DI中,仅对所调用的FB块有效,结果可以记忆,但只能与FB配套使用,不能用于其他逻辑块。

    (4)变量的使用范围

    程序变量在逻辑块中的使用有规定的范围,具体如下:

    组织块OB:只能使用临时变量(Temp);

    程序块FC:可以使用临时变量(Temp)与程序参数输入(IN)、输出(OUT)与输入/输出(IN_OUT):

202207281244519172844.jpg20220222150108739914.jpg202202221501087235224.jpg


http://zhangqueena.b2b168.com

产品推荐