子程序中用到了几个定时器,而这个子程序会被主程序调用好几次。就会有的这种调情况:有的中子程序里的定时器动作了,而另一些调用中,定时器不满足执行条件不应该动作,这时动作的定时器会对这个不满足执行条件的产生影响吗?
这样子行吗?
还有不明白的地方:1、如何在子程序中使用常数。2、刚调用子程序时局部变量的初始值是什么(都是零吗)?返回主程序后,子程序中各局部变量释放是指数值归零、状态复位吗?3、局部变量表中只能定义16个变量?不够用怎么办?
Network 1 // 网络标题
// 网络注释
LD SM0.0
LPS
A SM0.5
INCW LW3
LPP
AW>= LW3, LW0
= L2.0
1)子程序中使用常数就你直接写aw>= lw2, 200
2)子程序局部变量初始化需要自己写,一般是用外部形参,系统默认不是零,是LW的上次调用赋值,子程序使用完LW后是仍在那里不管他
3)如果参数需要大于60Byte的数据区,可以传递数据块(连续的比如LW0-LW98)的首地址指针到子程序内,子程序使用取地址运算*,来操作变量
手上没有PLC 试不了,上面写的定时器有没有问题?再就是如果参数大于16个就不能在局部变量表中定义了,对不?
追答建议去有硬件的教室实地操作,毕竟模拟器官方的没有给出,必须用硬件,局部变量表一共64Byte,真正可以使用60Byte,如果超出60Byte的话建议用符号表来定义一个数据块,然后把数据块首地址指针传入子程序,那么子程序内调试的话就用符号表中的变量了,可以用状态表监控
本回答被网友采纳对啊,子程序中如果是局部变量的话返回主程序后都会复位的,但定时器不是一全局变量吗?不会在另外的调用中直接保持当前的状态吗?
s7200多个子程序L存储单元规则
子程序不能同时重复使用。S7-200 PLC 2009年系统手册中文版204页说:"当子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器指令。有些子程序反复调用没有任何问题,但是有一个子程序,在调用时,有每次每个循环里面第一个调用该子程序的命令起作用,而第二次调用则完全无效。
请问西门子PLC的S7-200中的定时器,上次定时没清零,会影响下次定时...
这种时候(在到达预定时间后和到达最大计数值前又需要定时)应选用其他定时器定时,因为一个定时器在程序中只使用一次。西门子PLC的S7-200中的定时器有100多个,干嘛盯着一个不放呢!这样编程是不对的!
西门子S7\/200的PLC。用时钟指令控制。使其在8:00~23:00运行急求求详细梯...
M0.0就是输出控制点;时间直接在[菜单]-[PLC]-[实时时钟]里设置。
西门子PLC是如何做上升沿逻辑判断的?
边沿检测是靠检测两个相邻扫描周期的状态来实现的。西门子PLC手册里强调“当子程序在同一个周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器指令。”原因是重复调用的 S7-200的子程序的边沿触发指令无法正确记录上一周期的状态。如果子程序只调用一次的话沿指令可以正常使用,其效果等同于写...
告别混乱,西门子PLC定时器讲解
这通常是由于使用的定时器号与定时器类型不匹配造成的。另外,子程序中的定时器和计数器不工作或工作异常,可能是因为在同一时刻被多次调用或不同子程序间共享同一定时器资源导致。通过了解和正确应用定时器的功能和注意事项,用户可以更高效地实现对时间控制的需求,确保程序的稳定性和可靠性。
PLC中的定时器 计数器的使用个数受限制吗?
有限制的,不同品牌的PLC,计数器和定时器的数量也不一样,同一品牌不同型号的数量有时也不相同。一般都有很多,足够使用。但触点数使用没有限制。
关于西门子s7-200plc子程序重复调用的问题
不能多次调用 想多次调用里边需要全是临时变量 300没有这个问题
西门子S7-200 SMART PLC功能指令学习及实例分析
S7-200 SMART PLC 提供了丰富的功能指令,包括定时器、计数器和循环指令,以满足各种控制需求。首先,对于定时器,有接通延时定时器(TON)、保持型接通延时定时器(TONR)和断开延时定时器(TOF)。定时器的编号与分辨率需根据具体型号确定,它们在工业控制中常用于定时操作和延时控制。例如,TON可以用来设定一...
西门子PLC S7-200程序里带记忆延时接通继电器问题
1ms,10ms和100ms的都可以自己刷新的,刚才我用你的方法试验了一次,是可以驱动计数器计数的,你在仔细查看一下你的程序,估计是你的程序存在问题! 编程的时候考虑一下时序的问题(即扫描的先后顺序)。程序里很多的故障点出现在时序方面!!!
西门子plc s7-200 主程序和子程序局部变量占用相同地址有什么影响
他们的影响在于:系统不会自动清除局部(临时)区域的内容,因此,当你在于主程序或者子程序中调用局部数据时,如果不遵守以下原则,可能会读到非正确的数据。这个原则就是:对于临时区数据,遵循先赋值,后使用的原则。