浔之漫智控技术(上海)有限公司
西门子PLC模块 , CPU模块 , DP通讯电缆 , 6GK交换机
西门子6SL3040-1MA00-0AA0
发布时间:2023-10-26

操作定时器,包括使能位、直接赋定时值、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的状态到不了下面的网络。

    将PC中编写的程序传送给plc称为下载,将PLC中的程序传送给PC称为上载。

    1.下载程序

    程序编译后,就可以将编译好的程序下载到PLC。程序下载的方法是:执行菜单命令“文件→下载”,也可单击工具栏上的“”图标,会出现“下载”对话框,单击“下载”按钮即可将程序下载到PLC,如果PC与PLC连接通信不正常,会出现对话框,提示通信错误。

    程序下载应让PLC应处于“STOP”模式,程序下载时PLC会自动切换到“STOP”模式,下载结束后又会自动切换到“RUN”模式,若希望模式切换时出现模式切换提示对话框,可勾选对话框右下角两项。

    2.上载程序

    当需要修改PLC中的程序时,可利用STEP 7 - Micro/WIN软件将PLC中的程序上载到PC。在上载程序时,需要新建一个空项目文件,以便放置上载内容,如果项目文件有内容,将会被上载内容覆盖。

    上载程序的方法是,执行菜单命令“文件→上载”,也可单击工具栏上的“”图标,会出现类似的“上载”对话框,单击其中的“上载”按钮即可将PLC中的程序上载到PC中。

    数据块用来存放用户程序使用的共享数据,DBX是数据块中的数据位,DBB、DBW和DBD分别是数据块中的数据字节、数据字和数据双字。
    背景数据块用来为FB(功能块)提供参数,DIX是背景数据块中的数据位,DIB、DIW和DID分别是背景数据块中的数据字节、数据字和数据双字。
DI和DB是两个plc寄存器的区别码。DB表示的是共享数据。DI表示的是背景数据。背景数据块一般只能用作调用它的FB里,但DI也可以打开和共享使用,只是使用的位置只能是独立于打开它的那个块里,而且只能打开唯一的DI。不能像DB数据打开一样用作全局共享。
个人认为S7-200和200 SMART的PID参数自整定是很好用的。在阶跃响应曲线几乎和给定值水平线重合时启动自整定。首先计算自整定需要的“滞后”计算,计算完成后开始自调节,调节算法完成后,进入正常的PID控制。
S7-1200/1500的参数自整定分为预调节和**调节两个阶段。预调节要求
1)设定值和过程值均在组态的极限值范围内。
2)设定值和过程值的差值的**值应大于过程值上、下限之差的30%,还应大于设定值的50%。
我用CPU 1516C做与调节实验时与到两个问题。在70%阶跃的给定值产生之后,启动预调节,出现“过程值过于接近设定值”的错误信息(见下图)。其原因是启动的滞后时间较大,过程值上升到接近设定值了。
为了解决这个问题,在产生阶跃设定值后,立即启动预调节,解决了这个问题。


解决了这个问题之后,预调节时出现了第二条错误信息:“Input值超出已定义的过程值范围”。从下图可以看出,与调节时PID控制器红色的输出值是恒定值。经过反复摸索,发现这个输出值与PID控制器的参数“增益”有关。而过程变量(Input)与PID输出值和被控对象的增益有关。


通过调节PID的增益,从1.5降到0.4时,预调节成功,出现“系统已调节的信息”(见下图)。


展开全文
优质商家推荐 拨打电话