全国服务热线 13564949816

广东西门子电源全国一级代理商

更新时间:2024-07-04 08:20:00
价格:请来电询价
品牌:西门子
型号:开关电源 稳压电源 SITOP电源
产地:德国
联系电话:13564949816
联系手机:13564949816
联系人:王华
让卖家联系我
详细介绍

广东西门子电源全国一级代理商

广东西门子电源全国一级代理商

     在PLC运行期间始终被存储。S7 将静态变量定义在背景数据块(仅对FB而言,FC和OB无静态变量),当被调用块运行时,能读出或修改静态变量;被调用块结束后,静态变量保留在数据块中。

为何定义的FB,FC块,多次调用后程序混乱?

对于,多次调用的程序块,FB块建议更换调用不同的背景DB;FC则需要确保使用的存储地址不重复,即每次调用,块中调用的地址不重复。

为何含有定时器或计数器的FB或FC单次调用ok,多次调用时定时器或计数器混乱?

对于多次调用的FB,FC,如为S7定时器,计数器,则需要在IN接口中定义TIMER或Counter,每调用一次FB或FC,均赋不同的定时器或计数器号。

如为IEC定时器,计数器,则需要在IN接口定义Block_DB,每调用一次FB或FC,均赋不同的DB块给其中的IEC定时器或计数器。

临时变量引起的麻烦

临时变量可以在组织快OB、功能FC和功能块FB中使用,当块执行时它们被用来临时存储数据,一旦块执行结束,堆栈的地址将被重新分配用于其它程序块使用,此地址上的数据不会被清零,直到被其他程序块赋予新值。

需要遵循“先赋值,再使用”的原则。

因此,有常见的几种情况导致程序运行不正常:

1. 某个块程序运行时好时坏,其中某个数值或多个数值偶尔不正常

    此问题在于,一定遵循“先赋值,再使用”。否则,TEMP的数值在每个扫描周期开始未有明确的赋值,此地址的数值将是随机的。

2. 多个块使用TEMP,单独使用任意一个都正常,无法一起正常使用

    此问题在于,TEMP未能先赋值,再使用;程序块1的TEMP中的数值并没有清零,而是CPU运行机制调用此地址使用或直接分配给程序块2使用,导致这个TEMP地址并不为0,因此程序混乱。

西门子是全球**的自动化控制和电力设备制造商,在工业自动化领域拥有广泛的应用。PLC(可编程逻辑控制器)是其旗下的一个重要产品线。其中,S7-200、S7-300、S7-400是西门子PLC模块系列中的重要代表。

S7-200是西门子PLC模块系列中的基础型号,适用于小规模控制任务。其拥有高达14个数字输入和10个数字输出的数字I/O端口,以及2个模拟输入和1个模拟输出的模拟I/O端口。S7-300和S7-400则是更为**和专业的型号,可支持更大规模和更复杂的自动化控制系统。广东西门子电源全国一级代理商

这些PLC模块可用于制造、工业控制等领域。其主要功能是通过程序控制实现自动化控制系统,从而提高生产效率、降低成本和提高质量。PLC模块可以根据实际需求进行分类,包括数字、模拟、通信、运动控制等,方便用户根据实际应用进行选择。广东西门子电源全国一级代理商

独特的作用是,它可以集合众多传感器和执行器的信号,**地演算所有输入和输出信号,从而实现准确地控制和操作设备系统。另外,PLC模块还可以编写控制逻辑程序,通过调整不同参数来改变系统运行状态。 

S7-1500 IEC定时器创建

S7-1500定时器创建有以下几种方法:

1. 功能框指令直接拖入块中,自动生成定时器的背景数据块,该块位于“系统块>程序资源”中,参见图6。

自动生成定时器的背景数据块

2. 功能框指令直接拖入FB块中,生成多重背景。

 多重背景

 功能框指令直接拖入FB、FC块中,生成参数实例,从TIA博途V14开始,参见图8。

参数实例

4. 在DB块、FB的静态变量、FC和FB的INOUT变量中新建IEC_TIMER、TP_TIME、TON_TIME、TOF_TIME、TONR_TIME(后面四个从TIA博途V11开始)类型变量,在程序中将功能框定时器指令拖入块中时,在弹出的“调用选项”页面点击“取消”按钮,之后将该建好的变量填入指定位置。对于线圈型指令,这是**方法。

 DB块中新建IEC_TIMER等类型变量(LAD/FBD),如果是IEC_TIMER等类型变量的数组,S7-1500从V2.0版本开始支持。

 DB块中的定义

功能框定时器使用

线圈型定时器使用

 定时器的使用

2. 如何编程自复位定时器并产生脉冲?

答:正确答案参考表4,同时附上2种常见错误编程方式。

原因:S7-1500的定时器的时间更新发生在定时器功能框的Q点或ET连接变量时,或者在程序中使用背景DB(或IEC_TIMER类型的变量)中的Q点或者ET时。即如果程序中多次使用同一背景DB的Q点,或者既使用定时器功能框的Q点或ET连接变量,又使用背景DB的Q点,以上两种情况都会造成定时器在一个扫描周期内的多次更新,可能造成定时器不能正常使用的情况。广东西门子电源全国一级代理商

示例正确与否

正确

错误

多次使用同一背景DB的Q点

错误

同时使用背景DB的Q点以及定时器功能框的Q点连接变量

自复位定时器示例

正确方法的流程,将程序根据指令分为两部分:

 分解正确指令

 

阶段1.初始"DB2".脉冲=False,于是"DB2".脉冲取反为True,触发计时器开始计时,输出的"DB2".脉冲=False,状态不变;定时时间不到,则始终在阶段1;

阶段2.当定时时间到发生在①所处的位置,在TON处定时器更新,Q输出True,因此输出的"DB2".脉冲=True,等到下周期时"DB2".脉冲取反为False,导致输出的"DB2".脉冲=False,等再到下周期时就回到了阶段1;广东西门子电源全国一级代理商

阶段当定时时间到发生在②所处的位置,不影响定时器的更新,需要到下一周期才会改变输出,就回到了阶段2。阶段1.初始DY行"IEC_Timer_0_DB".Q=False,触发计时器开始计时,第二行,当定时时间不到,"IEC_Timer_0_DB".Q=False保持不变,输出的"DB2".脉冲=False;定时时间不到,则始终在阶段1;

阶段2.当定时时间到发生在①所处的位置,在DY行的"IEC_Timer_0_DB".Q处定时器更新,更新后,"IEC_Timer_0_DB".Q=True,取反为False,此时作为TON的输入,使得定时器复位,第二行的"IEC_Timer_0_DB".Q=False,输出的"DB2".脉冲=False,到下周期时就回到了阶段1;

阶段当定时时间到发生在②所处的位置,在第二行的"IEC_Timer_0_DB".Q处定时器更新,更新后,"IEC_Timer_0_DB".Q=True,输出的"DB2".脉冲=True,等到下周期时,"IEC_Timer_0_DB".Q=True,取反为False,此时作为TON的输入,使得定时器复位,第二行的"IEC_Timer_0_DB".Q=False,输出的"DB2".脉冲=False,等再到下周期时就回到了阶段1;

阶段4.当定时时间到发生在所处的位置,不影响定时器的更新,需要到下一周期才会改变输出,就回到了阶段2。

从上可知无论定时器时间到发生在哪个点,定时器都可以实现自复位,但是只有当定时时间到发生在②所处的位置时,"DB2".脉冲=True只保持一个周期,形成了脉冲,而在①和③时"DB2".脉冲始终为False无法形成脉冲。在正常程序中②的执行时间在整个扫描周期中占比很小,因此只有很低的概率可以实现脉冲。所以不能使用此种方法,第二个错误方法与之类似。

联系方式

  • 地址:上海市松江区广富林路4855弄大业领地88号3楼
  • 邮编:220000
  • 电话:13564949816
  • 销售经理:王华
  • 手机:13564949816
  • 微信:13564949816
  • QQ:717049901
  • Email:717049901@qq.com