7
西门子模块6GK7342-5DA03-0XE0供应
S7-1200存储卡作为传输卡使用时,如何选择存储卡的大小?客户查看了项目文件夹的大小,发现其很大,有4-5MB,那么是不是在选择存储卡时需要根据这个大小选择呢?
答案是否定的,因为此文件夹中不仅包含项目文件本身,还包含一些辅助文件,并不需要传输到存储卡里,所以这个选择依据是错误的。
那么究竟该如何选择呢?,需要了解如下背景知识:
S7-1200的内部存储区分为工作存储区、装载存储区和保持性存储区三种。
装载存储区是非易失性存储区。用于存储用户项目文件(用户程序、数据和组态)。在不插存储卡时,用户使用TIA Portal软件下载项目即是下载到装载存储区中。
注意:对于S7-1200,存储卡不是的。即使使用大容量的存储卡,也无法扩展装载存储区。
所以用户的项目所占存储区的大小不会过S7-1200装载存储区的大限制。
由此可知,S7-1200的程序不会过4MB,所以无论那款CPU,选择4MB的存储卡作为传输卡已经足够。
那么如何查看用户项目需要存储区的大小呢?
如果想知道目前程序所占用的存储区空间,可以通过TIA Portal软件的资源窗口查看。在软件左侧的结构树中,用鼠标右击“程序块”选择“调用结构”,然后选择“资源”标签,弹出资源窗口,可见,现有程序占用了装载存储区的0.67%,7002个字节
在STEP 7中可以对整数、长整数和实数进行加、减、乘、除算术运算。算术运算指令在累加器1和2中进行,在累加器2中的值作为被减数或被除数。算术运算的结果保存在累加器1中,累加器1原有的值被运算结果覆盖,累加器2中的值保持不变。
CPU在进行算术运算时,不必考虑RLO,对RLO也不产生影响。学习算术运算指令注意算术运算的结果将对状态字的某些位产生影响,这些位是:CC1和CC0,OV,OS。在位操作指令和条件跳转指令中,经常要对这些标志位进行判断来决定进行什么操作。
l +I 16位整数相加指令
l -I 16位整数相减指令
l *I 16位整数相乘指令
l / I 16位整数除法指令
l +D 32位整数相加指令
l -D 32位整数相减指令
l * D 32位整数相乘指令
l / D 32位整数除法指令
l MOD 32位整数除法取余数指令
例3.7.1
L MW0 // 将MW 0中的值装入累加器1低字
L MW2 // 将MW 2中的值装入累加器1低字,累加器1低字中的原值移入累加器2低字
+I // 将累加器l低字和累加器2中的低字相加
T MW10 // 将运算结果送到MW 10
* FBD 格式
与STL语句表指令不同处在于多了使能输入端EN和使能输出端ENO。只有当I 0.0=1时,才进行加法运算。如果运算的出范围或者I 0.0=0,则Q 4.0=0。



在OB1中两次调用上一个日志中的子程序SBR_0,在运行程序时发现,接通I0.0外接的小开关,Q0.0和Q0.1同时变为ON。这是因为分配给SBR_0的输出参数“电动机”的地址为L0.2,次调用SBR_0之后,L0.2的值为ON。二次调用SBR_0时,虽然起动按钮I0.2为OFF,但是因为两次调用SBR_0时局部变量区是公用的,此时输出参数“电动机”(L0.2)仍然为ON,所以二次调用SBR_0之后,由于执行图4-40中的程序,输出参数“电动机”使Q0.1为ON。子程序的局部变量一定要遵循“先赋值后使用”的原则。
S7-200的子程序使用临时变量来传递参数,OUT类型的参数不会把实参读入形参,所以这里使用OUT形参的触点就出现了临时变量未赋值先使用的情况。将输出参数“电动机”的变量类型改为IN_OUT就可以解决上述问题。这是因为两次调用子程序,参数“电动机”返回的运算结果分别用Q0.0和Q0.1保存,在二次调用子程序SBR_0,执行“O #电动机”指令时,因为“电动机”是IN_OUT参数,使用的是个扫描周期保存到Q0.1的值,与本扫描周期次调用子程序后参数“电动机”的值无关。
简单地说,对于有记忆功能的电路,需要用存储单元来保存要记忆的变量值。S7-300的FB可以用静态变量来保存,而S7-200的子程序没有静态变量,只有用IN_OUT变量的实参(本例中的Q0.1)来保存变量值。
与PLC打交道这么多年,经常碰到一些PLC的初学者问及西门子PLC和三菱PLC的区别,还有很多新手苦恼于该选择哪个去学习,本文分享了西门子PLC与三菱PLC的区别给大家。
一、编程理念不同
三菱plc是日系,编程直观易懂,学习起来会比较轻松,但指令较多。而西门子plc是德国,指令比较抽象,学习难度较大,但指令较少,所以学习三菱和学习西门子的周期是一样的。
个人认为三菱(日系的中)PLC的软件至少落后西门子5年以上,大中型的暂且不说,就拿三菱比较有优势的小型机FX系列和西门子S7-200系列相比,西门子有如下优势:
1、三菱的编程软件从早期的FXGPWIN到近期的GX8.0(我所知道新的),和所有的日系一样,该软件的编程思路是自上而下的单一纵向结构,而西门子的MicroWIN则是纵向和横向兼备的结构,而且子程序支持局部变量,相同的功能只需要编一次程序即可,大大减少了开发难度和时间。
2、S7-200一直以来支持强大的浮点运算,编程软件直接支持小数点输入输出,而三菱直至近年推出的FX3U系列才有此种功能,以前的FX2N系列的浮点功能都是的。
3、S7-200的模拟量输入输出程序非常简单方便,AD、DA值可以不需编程直接存取的,三菱的FX2N及其以前的系列都需要非常繁琐的FROM TO指令。FX3U如今倒支持此功能了,但足足晚了五年甚至多。
4、当然三菱的FX2N系列也有它自己的优势,一是高速计数器指令比S7-200方便,二是422口比西门子的PPI口皮实(因为200系列的PPI口是非光电隔离的,非规范操作和的编程电缆可能会导致串口损坏)。
以上的比较仅仅是小型机,至于西门子的300和400系列以及大型的TDC系列,这里就多言了。
学PLC,三菱是很上手的,因为直来直去思路简单,但从学习的角度讲,肯定是西门子好。
二、芯片不同
这主要体现在容量和运算速度上。西门子CPU226的程序容量20K,数据容量14K;而三菱FX2N总共才8K,后来的3U倒是有所改进。
西门子CPU226和CPU224XP标准配置2个485口即PPI口,大通讯速度187.5K;而三菱FX3U之前的所有系列都是一个422口,而且速度是9.6K。如果需要连个智能仪表什么的则另购FX2N0-485BD等特殊模块。而且两个通信口可以一个连接下载数据线一个连接触摸屏进行调试程序,否则你就要拔下触摸屏数据线再连接触摸屏数据线,来回调整程序非常麻烦。
三、控制的强项不同
西门子的强项是过程控制与通信控制,西门子的模拟量模块价格,程序简单,而三菱的模拟量模块价格昂贵,程序复杂,西门子做通信也,程序简单,三菱在这块功能较弱。(今天的转发暗号是:亿维:半年包换、5年保修、终生维护)
三菱的优势在于离散控制和运动控制,三菱的指令丰富,有的定位指令,控制伺服和步进实现,要实现某些复杂的动作控制也是三菱的强项,而西门子在这块就较弱,没有的指令,做伺服或步进定位控制不是不能实现,而是程序复杂,控制精度不高。
例如某设备只是些动作控制,如机械手,可选择三菱的PLC,某设备有伺服或步进要进行定位控制,也选三菱的PLC。像空调,污水处理,温度控制等这类有很多模拟量要处理的就要选西门子的PLC比较合适,某设备现场有很多仪表的数据要用通信进行采集,选西门子的好控制。
所以针对不同的设备不同的控制方式,我们要合理的选用PLC,用其长处,避其短处
提高PLC运行效率,缩短完成相同任务时的执行时间。