WinCC 项目激活时避免脚本初次执行及延迟执行脚本1 定时器功能介绍
WinCC 中定时器的使用可以使 WinCC按照的周期或者时间点去执行任务,比如周期执行变量归档、在的时间点执行全局脚本或条件满足时打印报表。WinCC 已经提供了一些简单的定时器,可以满足大部分定时功能。但是在有些情况下,WinCC 提供的定时器不能满足我们需求,这时我们就可以通过 WinCC 提供的脚本接口通过编程的方式实现定时的功能,因为脚本本身既可以直接 调用 WinCC其他功能,比如报表打印,也可以通过中间变量来控制其他功能的执行,比如通过置位/复位归档控制变量来触发变量记录的执行。WinCC 提供了 C 脚本和 VBS 脚 本,本文主要以全局 C 脚本编程为例介绍定时功能的实现。
2 脚本中定时器介绍 既然在全局脚本中可以编程控制其他功能的执行,那么首先看看全局脚本的触发:大部分的电气工程师都习惯于梯形图的编程方式。因为它类似于继电器电路图的表达方式直观、易懂,便于分析和推理。但是在S7-300/400中,有些程序只能显示为语句表,无法转为梯形图。
有朋友问:
如下的STL程序:
A I1.0
= Q0.5
A I0.6
= Q0.7
A I1.2
= Q1.0
这样的STL程序,在视图选择LAD时,应能转换为梯形图,但它不能转换,仍为STL语句表程序,选择FBD时,仍不能转换为功能块图,仍为STL语句表程序。通常LAD,FBD或 STL三种形式是可以相互转换的,但它不能,这样的编程技巧,该如何操作。
这样的程序要分成3段才能正常显示出梯形图来,如:
Network1
A I0.0
= Q0.5
Network2
A I0.6
= Q0.7
Network3……
……
这样才能正确转换为梯形图。
西门子用LAD编写的程序转化为STL是肯定可以的,但STL转为LAD就有的时候不能成功。
因为即使如上例一样,将N个程序段落写在一块,在STL环境下也是允许的,而LAD环境下不不可能编译成功。
-----------------------------------------------------------------------------------------------------------------------------------
类似的还有用STL写的计时器、计数器。
在LAD编辑环境下:
在STL编辑环境下:
可见,即使在LAD编程转到STL时,会出现很多“没用”的指令,如NOP、BLD等,但是我们也不能轻易的删除他们,应为这是显示为梯形图的必要条件。
而在STL编程时,我们很少会注意添加NOP、BLD指令,这样就使得STL语言不能转为LAD。当然这也是STL语言的简洁性的一个体现。
-------------------------------------------------------------------------------------------------------------------------------------
有些指令的使用,如间接寻址,是必须用STL编辑的。这个不能转为LAD。这就使习惯了看梯形图的电气工程师对间接寻址难以理解,无形中增大了间接寻址的难度。使得很多人对间接寻址望洋兴叹……
初,PLC主要用于开关量的逻辑控制。随着PLC技术的进步,它的应用领域不断扩大。
如今,PLC不仅用于开关量控制,还用于模拟量及数字量的控制,可采集与存储数据,还可对控制系统进行监控;还可联网、通讯,实现大范围、跨地域的控制与管理。PLC已日益成为工业控制装置家族中一个重要的角色。。
3.1用于开关量控制
PLC控制开关量的能力是很强的。所控制的入出点数,少的十几点、几十点,多的可到几百、几千,甚至几万点。由于它能联网,点数几乎不受限制,不管多少点都能控制。
所控制的逻辑问题可以是多种多样的:组合的、时序的;即时的、延时的;不需计数的,需要计数的;固定顺序的,随机工作的;等等,都可进行。
PLC的硬件结构是可变的,软件程序是可编的,用于控制时,非常灵活。必要时,可编写多套,或多组程序,依需要调用。它很适应于工业现场多工况、多状态变换的需要。
用PLC进行开关量控制实例是很多的,冶金、机械、轻工、化工、纺织等等,几乎所有工业行业都需要用到它。目前,PLC首用的目标,也是别的控制器无法与其比拟的,就是它能方便并可靠地用于开关量的控制。
3.2用于模拟量控制
模拟量,如电流、电压、温度、压力等等,它的大小是连续变化的。工业生产,特别是连续型生产过程,常要对这些物理量进行控制。
作为一种工业控制电子装置,PLC若不能对这些量进行控制,那是一大不足。为此,各PLC厂家都在这方面进行大量的开发。目前,不仅大型、中型机可以进行模拟量控制,就是小型机,也能进行这样的控制。
PLC进行模拟量控制,要配置有模拟量与数字量相互转换的A/D、D/A单元。它也是I/O单元,不过是特殊的I/O单元。
A/D单元是把外电路的模拟量,转换成数字量,然后送入PLC。D/A单元,是把PLC的数字量转换成模拟量,再送给外电路。
作为一种特殊的I/O单元,它仍具有I/O电路抗干扰、内外电路隔离,与输入输出继电器(或内部继电器,它也是PLC工作内存的一个区。可读写)交换信息等等特点。
这里的A/D中的A,多为电流,或电压,也有为温度。D/A中的A,多为电压,或电流。电压、电流变化范围多为0~5V,0~10V,4~20mA。有的还可处理正负值的。
这里的D,小型机多为8位二进制数,中、大型多为12位二进制数。
A/D、D/A有单路,也有多路。多路占的输入输出继电器多。
有了A/D、D/A单元,余下的处理都是数字量,这对有信息处理能力的PLC并不难。中、大型PLC处理能力更强,不仅可进行数字的加、减、乘、除,还可开方,插值,还可进行浮点运算。有的还有PID指令,可对偏差制量进行比例、微分、积分运算,进而产生相应的输出。计算机能算的它几乎都能算。
这样,用PLC实现模拟量控制是完全可能的。控制的单位值可小到212分之一的测量程值,多数也是足够的。