新闻
绍兴西门子PLC代理商
2023-02-15 13:51  浏览:68
绍兴西门子PLC代理商

绍兴西门子PLC代理商

操作定时器,包括使能位、直接赋定时值、R指令复位等,指令执行后立即生效,不是等到系统刷新时。
这和系统对定时器的刷新机制不冲突,也不矛盾的。
读定时状态位、当时定时值,读到的就是新鲜的值,包括由操作定时器指令立即产生的结果。但读指令本身不会改变定时器的状态。
前几天看到一个提问是这样的
问为什么C0不计数?而把网络1和网络2交换就可以了?


这个问题对于新手来说是一个很容易犯的错误,我自己也犯过同样的错误。那是因为手册中有段话把我误导了,也是自己对它理解不够。


就是这个程序,我的想法是I0.0是按钮,按下Q0.0接通,在按下Q0.0断开,可实际Q0.0根本不会接通。
那么问题来了,手册中这样说的


我的程序应该I0.0上升沿时Q0.0置位,但要等到扫描完时才会输出Q0.0,那么网络2的I0.0上升沿后面Q0.0就应该为OFF,那么就不会复位,下次按下I0.0时Q0.0复位。应该没问题啊。


而个程序是这样的,说明书上说
10ms定时器在扫描开始时刷新,那么当T98 ON的那一个扫描周期计数器就应该计数啊。难道说明书有问题?
后来自己仔细研究才明白,CPU执行程序时用的是过程映像寄存器中的值,Q0.0那个程序就好理解了,置位Q0.0后,寄存器中Q0.0已经ON了,扫描网络2的时候读取寄存器中Q0.0 ——>ON,所以I0.0上升沿——>ON,Q0.0——>0N,所以Q0.0被复位,Q0.0输出OFF。
那定时器这个呢?我在想cpu读取的应该也是寄存器中的值而不是定时器的实际地址,所以
实际就是扫描开始
读取T98实际地址传送给T98寄存器——>T98寄存器ON
网络1  扫描到T98时——>T98寄存器off
网络2  T98寄存器OFF,
所以网络2的T98永远接不通。
这只是我的个人理解,实际是不是这样运算的也没找到资料,想到了电脑CPU的缓存,是不是plc的过程映像寄存器是一个道理。
经过我的消化,是这样理解的:
1、与定时器有关的指令,可以分两类,一类是使用定时数据的,另一类是操作定时器的。就象一个闹钟,读时间就是使用闹钟,拨弄闹钟就是操作。
2、使用定时器,也就是读定时器状态或定时器当前的时间值,对定时器是没有影响的,而操作定时器,则会影响定时器的状态及当前值,而且是若有影响,立即生效。所以T38,定时到时,又被立即复位了,T38=1的状态到不了下面的网络

USS通信接口参数功能块的编程

USS通信接口参数功能块的编程如图9所示。

图9: USS通信接口参数功能块的编程

USS_PORT功能块用来处理USS网络上的通信,它是S71200 CPU与MM440的通信接口。每个CM1241 RS485模块有且必须有一个USS_PORT功能块。

PORT: 通信模块标识符:在默认变量表的“常量"(Constants) 选项卡内引用的常量。

BAUD: 指的是和MM440进行通行的速率。 MM440的参数P2010种进行设置。

USS_DB: 引用在用户程序中放置 USS_DRV 指令时创建和初始化的背景数据块。

ERROR: 输出错误。

STATUS:扫描或初始化的状态。

USS_PORT 功能通过RS485通信模块处理 CPU 和变频器之间的实际通信。 每次调用此功能可处理与一个变频器的一次通信。 用户程序必须尽快调用此功能以防止与变频器通信超时。 可在主 OB 或任何中断 OB 中调用此功能。通常从循环中断 OB 调用USS_PORT 以防止变频器超时以及使 USS_DRV 调用的 USS 数据保持。

S7-1200 PLC与MM440的通信是与它本身的扫描周期不同步的,在完成一次与MM440的通信事件之前,S7-1200通常完成了多个扫描。

USS_PORT通信的时间间隔是S7-1200与MM440通信所需要的时间,不同的通信波特率对应的不同的USS_PORT通信间隔时间。表8列出了不同的波特率对应的USS_PORT小通信间隔时间。

表8:不同的波特率对应的USS_PORT小通信间隔时间

USS_PORT在发生通信错误时,通常进行3次尝试来完成通信事件,那么S7-1200与MM440通信的时间就是USS_PORT发生通信超时的时间间隔。例如:如果通信波特率是9600,那么USS_PORT与MM440通信的时间间隔应当大于小的调用时间间隔,即大于116.3毫秒而小于349毫秒。S7-1200 USS 协议库默认的通信错误超时尝试次数是2次。

基于以上的USS_PORT通信时间的处理,建议在循环中断OB块中调用USS_PORT通信功能块。在建立循环中断OB块时,我们可以设置循环中断OB块的扫描时间,以满足通信的要求。循环中断OB块的扫描时间的设置如图10所示:

图10:循环中断OB块的扫描时间的设置

4.3.3. USS_RPM功能块的编程

USS_RPM功能块的编程 如图11所示。

图11:USS_RPM功能块的编程

USS_RPM功能块用于通过USS通信从MM440读取参数。

REQ:       读取参数请求。

DRIVE:   MM440的USS站地址。
PARAM: MM440的参数代码。
INDEX:   MM440的参数索引代码
USS_DB:MM440进行USS通信的数据块。




DONE:   读取参数完成。

ERROR: 读取参数错误。

STATUS:读取参数状态代码。
VALUE:  所读取的参数的值。

注意:进行读取参数功能块编程时,各个数据的数据类型一定要正确对应。

4.3.4. USS_WPM功能块的编程

USS_WPM功能块的编程如图12所示。

图12:USS_WPM功能块的编程

USS_WPM功能块用于通过USS通信设置MM440的参数。

REQ:       写参数请求。

DRIVE:    MM440的USS站地址。
PARAM:  MM440的参数代码。
INDEX:    MM440的参数索引代码。
EEPROM:把参数存储到MM440的EEPROM。
VALUE:   设置参数的值。

USS_DB:MM440进行USS通信的数据块。




DONE:   读取参数完成。

ERROR: 读取参数错误状态。

注意:对写入参数功能块编程时,各个数据的数据类型一定要正确对应。

4.3.5. 常见错误

如果读写同时使能,则报错818A:参数请求通道正在被本变频器的另一请求占用。如图13所示。

图13:读写同时使能报错

如果通信断开,则PORT报错818B,如图14所示。

图14:通信断开报错

如果速度设定值不正确,则报错8186,如图15所示。

图15:速度设定值错误


相关新闻
联系方式
公司:浔之漫智控技术-西门子PLC代理商
姓名:聂航(先生)
电话:15221406036
手机:15221406036
地区:直辖市-上海
地址:上海市松江区广富林路4855弄88号3楼
QQ:3064686604
微信:15221406036
拨打电话
微信咨询
请卖家联系我