上海励辉自动化科技有限公司
西门子一级代理商 , 西门子变频器触摸屏模块 , 西门子授权总代理
西门子模拟量模块6ES72315PF320XB0广州授权总代理

编了一个利用定时器的程序,在编译时已经通过,为何下载到CPU中时提示出错?


  


  这种情况往往是调用的定时器号与定时器类型不配合造成的。参见帮助的表格,如T7只能用作TONR,而不能用于TON或TOF。



  3. 定时中断(SMB34/SMB35)长定时为255ms,如何实现更长时间的定时?



  可以采用T32/T96中断,长时间可到32.767s。在定时中断服务程序中对进入中断的次数进行计数,也能实现更长时间的中断延时。



  4. 定时中断个数不够怎么办?



  每个定时中断服务程序不一定只能处理一项定时任务,可以把几个任务放在一个定时中断服务程序中。



  对于定时间隔不同的任务,可以计算出它们的定时长度的大公约数,以此作为定时中断的时间设置。在中断服务程序内部对中断事件进行计数,据此编程别处理不同的任务。



  5. 使用子程序时,为何动作只能执行一次,或者某些状态不能结束?



  如果发生动作不能重复执行,或者状态不能结束(像锁死了一样),而这些功能都与子程序有关时,请检查是否有条件调用子程序。调用子程序的条件在上述动作执行后,或者进入某个状态后不再有效,无法再次“激活”,而脱离上述状态或复位的指令正好在子程序内,必然造成上述的现象。



  6、带形式参数的子程序,定义为OUT类型的变量为何会在多次调用子程序时互相干扰?



  那是因为定义为OUT类型的形式参数又在子程序内部参与了运算。凡是此类参数都应当定义为IN_OUT类型。



  7. 与中断服务程序有关的计算任务,为何会偶尔得出不正确的结果?



  出现这种现象的原因多是在主(子)程序和中断程序之间传递数据的机制不当。



  中断程序可能在任何时刻执行,如果此时主程序(或子程序)正在对中断程序使用的数据进行操作,其中间结果可能带入中断程序,造成计算结果的变化;同样地,在中断程序中产生数据也对主(子)程序中的计算有类似影响。



  8. 中断服务程序看起来没有执行?



  可以在中断程序中加一个测试程序段,如使用SM0.0(常为“1”)将一个输出点置位(使用Set指令),观察是否进入中断服务程序。中断程序不执行,多数原因是初始化(连接中断事件和中断程序)的问题,或者没有“开中断”。应该使用SM0.1(或沿触发)执行一次初始化,然后开中断。



  9. TP170、TP170micro与S7-200相连接如何做“时钟同步”?



  TP170默认的时钟格式与S7-200西门子PLC时钟指令所读取的时间日期格式有所区别,读出的时钟需要改变格式才能与TP170等做时钟同步。在TP170的组态软件ProTool的在线帮助中有相关的介绍。



  10. 高速计数器怎样占用输入点?



  高速计数器根据被定义的工作模式,按需要占用CPU上的数字量输入点。每一个计数器都按其工作模式占用固定的输入点。在某个模式下没有用到的输入点,仍然可以用作普通输入点;被计数器占用的输入点(如外部复位),在用户程序中仍然访问到。



  11. 为什么高速计数器不能正常工作?



  在程序中要使用初次扫描存储器位SM0.1来调用HDEF指令,而且只能调用一次。如果用SM0.0调用或者第二次执行HDEF指令会引起运行错误,而且不能改变次执行HDEF指令时对计数器的设定。



  12. 对高速计数器如何寻址?为什么从SMDx中读不出当前的计数值?



  可以直接用HC0;HC1;HC2;HC3;HC4;HC5对不同的高速计数器进行寻址读取当前值,也可以在状态表中输入上述地址直接监视高速计数器的当前值。SMDx不存储当前值。高速计数器的计数值是一个32位的有符号整数。

44.jpg

展开全文
拨打电话 微信咨询 发送询价