西门子低压电器总代理
RUN 状态下的存储器要求
为了保证整个下载操作中数据的一致性和基本操作正常,CPU 要求工作存储器中以及
SIMATIC 存储卡上留有足够的可用空间。仅当创建新文件后,才会删除因 CPU 中加载软
件更改而受到影响的文件。SIMATIC 存储卡中所需的空闲存储空间约为,存储卡
中待加载的所有程序对象所需的空间。
如果 SIMATIC 存储卡中的存储空间不足,则在下载到 CPU 的操作过程中,STEP 7 中将
显示以下消息:“存储卡存储空间不足,无法存储该数据量。"(There is insufficient
memory on the memory card for this amount of data.)。
在这种情况下,为了确保更改仍可加载到 CPU 中,建议采用以下一种/多种处理方式:
● 在 RUN 状态下下载
– 通过 Web 服务器,删除存储卡中不再需要的文件(如,csv 文件、面板备份等)。
– 好好在 RUN 状态下分多步下载大量更改,或在每次更改后执行下载。
说明
在 RUN-Redundant 系统状态下 RUN-Redundant 加载到 S7-1500R/H 冗余系统的
CPU
在执行写入功能之前,系统不会检查 CPU 的 SIMATIC 存储卡上是否有足够的可用
空间来执行此功能。写入功能是 PG/PC 的在线功能,例如加载/删除块和测试功
能,在 RUN-Redundant 系统状态下加载修改的用户程序。
如果 CPU 的 SIMATIC 存储卡存储空间不足:
• 受影响的 CPU 切换为 STOP 模式。
– 如果所选 CPU(目标加载 CPU)的 SIMATIC 存储卡存储空间不足,CPU
会切换为 STOP 模式。另一 CPU 通过之前的用户程序切换到 RUN 状态(冗
余系统 → RUN-Solo 系统状态)。
– 如果另一 CPU 的存储空间不足,CPU 会切换为 STOP 模式。所选 CPU
((目标加载 CPU)通过修改过的用户程序切换到 RUN 状态(冗余系统 →
RUN-Solo 系统状态)。
• ERROR LED 指示灯红色闪烁(临时错误)
• 对应的错误消息会输入到诊断缓冲区中。
如果之后另一 CPU 的 SIMATIC 存储卡可用存储空间不足,则此 CPU 仍保持 RUN
状态。CPU 会像标准 CPU 一样进行响应。
若用户的自动化任务需要 8 个以上的 SM、FM 或 CP 模块插槽时,则可对 S7-300(除 CPU312
和 CPU 312C 外)进行扩展:
控制器和3个扩展机架多可连接32个模块:
总共可将 3 个扩展装置(EU)连接到控制器(CC)。每个 CC/EU可以连接八个模块。 通过
接口模板连接:每个 CC / EU 都有自己的接口模块。在控制器上它总是在 CPU 旁边的插
槽中,并自动处理与扩展装置的通信。 通过 IM 365 扩展:
1 个扩展装置远扩展距离为 1 米;电源电压也通过扩展装置提供。 通过 IM 360/361 扩展:
3 个扩展装置, CC 与 EU 之间以及 EU 与 EU 之间的远距离为 10m。 单独安装:
对于单独的 CC/EU,也能够以更远的距离安装。两个相邻 CC/EU 或 EU/EU 之间的距离:长达
10m。 灵活的安装选项:
CC/EU 既可以水平安装,也可以垂直安装。这样可以大限度空间要求。
通信
S7-300 具有不同的通信接口:
连接 AS-Interface、PROFIBUS 和 PROFINET/工业以太网总线的通信处理器。 用于点到点
连接的通信处理器 多点接口 (MPI), 集成在 CPU 中;是一种经济有效的方案,可以连接编程器
/PC、人机界面和其它的 SIMATIC S7/C7自动化。
(1) 每半年或季度检查PLC柜中接线端子的连接情况,若发现松动的地方及时重新坚固连接;
(2) 对柜中给主机供电的电源每月重新测量工作电压;
设备定期清扫
(1) 每六个月或季度对PLC进行清扫,切断给PLC供电的电源把电源机架、CPU主板及输入/输出
板依次拆下,进行吹扫、清扫后再依次原位安装好,将全部连接恢复后送电并启动PLC主机。认真清
扫PLC箱内卫生;
(2) 每三个月更换电源机架下方过滤网;
检修前
1) 检修前好工具;
(2) 为保障元件的功能不出故障及模板不损坏,必须用保护装置及认真作防静电工作;
(3) 检修前与调度和操作工联系好,需挂检修牌处挂好检修牌;
设备拆装顺序及
(1) 停机检修,必须两个人以上监护操作;
(2) 把CPU前面板上的选择开关从“运行"转到“停"位置;
(3) 关闭PLC供电的总电源,关闭其它给模坂供电的电源;
(4) 把与电源架相连的电源线记清线号及连接位置后拆下,拆下电源机架与机柜相连的
螺丝,电源机架就可拆下;
(5) CPU主板及I/0板可在模板下方的螺丝后拆下;
(6) 安装时以顺序进行;
检修工艺及技术要求
(1) 测量电压时,要用数字电压表或精度为1%的表测量
(2)电源机架,CPU主板都只能在主电源切断时取下;
(3) 在RAM模块从CPU取下或CPU之前,要断开PC的电源,这样才能保证数据不混乱;
(4) 在取下RAM模块之前,检查一下模块电池是否正常工作,如果电池故障灯亮时取下模块RAM
(5) 输入/输出板取下前也应先关掉总电源,但如果生产需要时I/0板也可在可编程控制器运行时
取下,但CPU板上的QVZ(超时)灯亮;
(6) 拨插模板时,要格外小心,轻拿轻放,并运离产生静电的物品;
(7) 更换元件不得带电操作;
(8) 检修后模板安装一定要安插到位
很多新手都会问,FC和FB到底什么区别呢?该怎么使用呢?其实很简单啦,仔细阅读下面内容就能理解哦!
FC块讲解
我们从两者的名字就可以进行区分,可以用一个公式即FB=FC+DB来表示,FB是具有DB背景块的特殊FC,也就是说FB具有FC的功能,拥有一个DB块。FC全称是Function函数。
注:DB块 全称DataBlock 数据存储区域,类似数据库中关系表结构。
那什么函数呢?
函数
函数 f(x)就像机器或黑箱,给予输入值x便产生唯一输出值f(x)。x是自变量,f(x)是因变量。举一个我们常见的公式,求圆的面积,s=π*r*r。输入r值,便得到圆的面积s,这就是简单的函数,r是自变量,s是因变量。
图一 变量声明
图2 FC函数内容
Input:输入型参数,提供外部输入接口。类似于函数f(x)中的x,是一个自变量。Input类型参数,是外部变量的拷贝副本,修改其值,外部变量无变化。假设在程序中修改R的值,从图2编译信息发现,传递的并不是实际参数,修改外部接口变量无变化。
Output:输出型参数,提供外部输出接口。该类型参数由于直接引用外部变量地址,可以修改其值。
InOut:输入输出型参数,既做输入又做输出。同Output类型一样,可以修改外部接口变量的值。在适当地方,使用InOut类型变量,可以减少占用plc的变量声明空间。
Temp:局部变量,在函数内部使用,不提供外部的接口。我们常常把temp变量用于数据转换的中间值,或者用于循环变量,比如用于For或者While循环。由于Temp是局部变量,它的值是随机,使用必须初始化,对其赋值。
Constant:常量,在函数内部使用,意思是恒定不变的变量,只能在声明处修改。比如我们这里的π圆周率是固定不变的,可能调用的地方有几十处,若程序中直接引用3.1415,后期修改,需要把每个地方都修改过去,很麻烦。在声明处修改π值,所有函数中的π变量都会修改。假设我们在程序中修改π常量,从图2中编译信息可以发现,常量不能在程序中修改。
Return:函数返回值,存储计算结果。默认为无返回值,声明为void。在我们的数学知识里面函数应该是要有返回值的,在TIAPORTAL可以没有返回值,我们把这种无返回类型的函数,称为procedure(过程)。我们这里设置为Real类型,返回圆的面积。有读者可能有疑问,return变量和Output类型都可以用来存储计算结果,两者的区别是什么呢?其中有一个显著的区别是Output类型输出参数可以声明若干个,return类型的返回变量,只能声明一个,且变量名字无法修改。其他区别,等讲解SCL的时候,再做解答。
在main[OB1]程序块里面拖动FC1函数,得到如下运行结果:
图3 程序运行结果
图4 DB块值监控
程序解读:
由于PLC程序是从左到右执行,"Func"函数块的左侧是输入接口,右侧是输出接口。观察函数块的内部变量名字,发现和函数中的声明一一对应,除了<Ret_Val>变量。Ret_Val是Return接口<Func>变量的别名,由于每个函数的名字都不一样,统一用<Ret_Val>作为函数返回值变量的名称。
程序一是对模拟量值进行转换,采样的分辨率下限是0,上限为27648,采样的数字量值15000,通过调用指定函数把转换出来的值放在变量<"Data".电压值>,得到转换值为0.5425347.
把变量<"Data".电压值>放在FC函数的Inout接口中,利用PLC的扫描周期,通过<Data>DB块可以看到终值5.425347。若不放在Inout,把其放在Input接口,我们必须在OutPut接口再声明一个变量,用于存储终的转换值。这样声明就可以节省PLC的内存空间了,同样使程序看起来更简洁。
FC函数块的代码内容比较简单,请自行阅读理解,若有问题,可以留言。
FB块讲解
要了解FB和FC的区别,让我们剖析一下这两个模块的变量声明结构:
图5 FB块变量声明
图6 FB占用DB背景块内部变量
通过FB和FC的变量声明,我们可以看到三个明显的区别:
1、FB块增加了Static静态区声明
2、FB增加了保持性和可访问性选择
上述两个区别正好说明了FB=FC+DB公式的成立,因为这两个特性是DB块才有的特性哦。我们在普通DB块里面声明的变量都在Static区声明,不信的话,你可以打开来看看。我们可以通过访问FB拥有的背景块来访问FB中变量的值。
当FC调用结束后,各种接口中声明的变量值无法保存,FB调用结束后,仍然可以保留变量的值,你可以通过FB的背景DB块进行访问。FB的每次调用都会自动生成一个DB块,想想我们编程当中,进行哪类操作也会有类似行为?其实就是我们用的非常频繁的定时器操作,每一次拖动<TON>定时器都会自动建立一个DB块。通过<系统资源>查看定时器拥有的DB块,看看和图6是否类似。
图7 定时器DB背景块结构
由于定时器拥有背景块,当我们停止计时后,PLC无论经过多少个扫描周期,还是可以读取停止计时时刻的值,这就是拥有DB背景块的好处,FB块与此类似。
3、FB块没有Return接口
由于可以通过Output接口存储返回值,没有Return接口影响不大。
图8 FB程序增加部分
由于程序类似,FB程序只列出增加部分。我们可以看到该程序,每次调用都会把大电压值放在<MaxVol>变量中,添加<CheckTime>变量,用于记录改变电压的时间。在hmi程序上面,我们可以很方便读取这两个变量,来实时获取当前的大电压值和修改时间,是不是很方便?
读者可能会有疑问,如果我自己写一个FC函数,外部添加一个DB块,不是一样可以实现此功能吗?看上去好像讲的很有道理呀,这个想法是错误的。
如果你在PLC程序中只调用FB块一次,那么可以采用此方法。如果你在PLC程序里面,既要比较电压,还要比较如电流、温度和湿度等,如果用同一个FC怎么实现呢?用FB可以很好的解决此问题,不明白的,可要仔细想想!
关于FC和FB的区别已经讲完,如果仔细阅读,应该能搞清楚这两者的区别。若还有问题,欢迎留言,欢迎指出本文的错误