9
1、指令分为单扫描周期指令和多扫描周期指令。对于多扫描周期指令,如果EN或者REQ只使能一个扫描周期,该指令不能成功执行;例如大多数的通信指令;
2、FB块的输入输出形参存储于背景数据块中,在调用该FB时实参可选;而FC块的输入输出是临时内存,必须*实参才能运行;
3、FB块的输入输出虽不是静态变量,但亦有保持功能,具体视程序而定;
4、注意变量被多次赋值时的先后顺序!因为变量的值总会被最后执行动作更新,前面的值将被覆盖;例如下图:
程序初衷为当接受响应完成时ERR置位,或响应**时ERR置位。上述程序是可以完成正常功能的;但若二者互换,如下图
程序初衷为当接受响应完成时ERR置位,或响应**时ERR置位。上述程序是可以完成正常功能的;但若二者互换,如下图
接收**时时,ERR不会置位,因为rev_done为0,ERR被复位!5、STEP 7中的梯形图操作数、能流的监控特征色(蓝绿)、以及监控表中的布尔变量的刷新频率有限,可能不能反映真实的实时运行状况,可借助一个累加器来监视程序的运行状态;例如下图:
接收**时时,ERR不会置位,因为rev_done为0,ERR被复位!5、STEP 7中的梯形图操作数、能流的监控特征色(蓝绿)、以及监控表中的布尔变量的刷新频率有限,可能不能反映真实的实时运行状况,可借助一个累加器来监视程序的运行状态;例如下图:
接收**时时,ERR不会置位,因为rev_done为0,ERR被复位!
5、STEP 7中的梯形图操作数、能流的监控特征色(蓝绿)、以及监控表中的布尔变量的刷新频率有限,可能不能反映真实的实时运行状况,可借助一个累加器来监视程序的运行状态;例如下图:
6、单个扫描周期中,一个布尔变量的上升/下降沿只能读取一次;因为读取一次之后,其Pre变量已被立即刷新,后续的读取不能成功读到该变量的状态变化;7、数组访问越界将导致CPU错误,ERR灯闪烁;8、单扫描周期指令的循环操作是在单扫描周期完成的;9、多使用宏定义,可使程序易读、方便修改;10、关于能流:(1)能流流经某个具备EN和ENO的指令,并不一定代表该指令功能执行完成,只代表该扫描周期扫描完成;(2)算数运算、bool变量操作等单扫描周期指令的ENO输出代表该指令执行完成。11、FB/FC的EN端将为能流提供扫描通道,EN端断路,能流无扫描通路,内部变量将不再刷新,即该函数不再执行;当FB/FC的EN端总是使能,Enable输入断开,块内部仍有能流通路,相应变量会被扫描以致刷新;请注意二者区别;例见下图:
6、单个扫描周期中,一个布尔变量的上升/下降沿只能读取一次;因为读取一次之后,其Pre变量已被立即刷新,后续的读取不能成功读到该变量的状态变化;7、数组访问越界将导致CPU错误,ERR灯闪烁;8、单扫描周期指令的循环操作是在单扫描周期完成的;9、多使用宏定义,可使程序易读、方便修改;10、关于能流:(1)能流流经某个具备EN和ENO的指令,并不一定代表该指令功能执行完成,只代表该扫描周期扫描完成;(2)算数运算、bool变量操作等单扫描周期指令的ENO输出代表该指令执行完成。11、FB/FC的EN端将为能流提供扫描通道,EN端断路,能流无扫描通路,内部变量将不再刷新,即该函数不再执行;当FB/FC的EN端总是使能,Enable输入断开,块内部仍有能流通路,相应变量会被扫描以致刷新;请注意二者区别;例见下图:
6、单个扫描周期中,一个布尔变量的上升/下降沿只能读取一次;因为读取一次之后,其Pre变量已被立即刷新,后续的读取不能成功读到该变量的状态变化;
7、数组访问越界将导致CPU错误,ERR灯闪烁;
8、单扫描周期指令的循环操作是在单扫描周期完成的;
9、多使用宏定义,可使程序易读、方便修改;
10、关于能流:(1)能流流经某个具备EN和ENO的指令,并不一定代表该指令功能执行完成,只代表该扫描周期扫描完成;(2)算数运算、bool变量操作等单扫描周期指令的ENO输出代表该指令执行完成。
11、FB/FC的EN端将为能流提供扫描通道,EN端断路,能流无扫描通路,内部变量将不再刷新,即该函数不再执行;当FB/FC的EN端总是使能,Enable输入断开,块内部仍有能流通路,相应变量会被扫描以致刷新
1.通过OB1的启动参数读出运行时间在非优化的OB1启动信息中带有OB1的运行时间,如图1所示。
图1.读出非优化的OB1中运行时间将启动信息参数传递到全局变量中就可以读出CPU的上次扫描、较小、较大扫描时间,编程非常方便。2.调用RD_SINFO函数读出运行时间如果使用优化的OB1,启动信息简化而没有这些运行信息,如图2所示,则必须调用函数读出。
图1.读出非优化的OB1中运行时间将启动信息参数传递到全局变量中就可以读出CPU的上次扫描、较小、较大扫描时间,编程非常方便。2.调用RD_SINFO函数读出运行时间如果使用优化的OB1,启动信息简化而没有这些运行信息,如图2所示,则必须调用函数读出。
图1.读出非优化的OB1中运行时间
将启动信息参数传递到全局变量中就可以读出CPU的上次扫描、较小、较大扫描时间,编程非常方便。
2.调用RD_SINFO函数读出运行时间
如果使用优化的OB1,启动信息简化而没有这些运行信息,如图2所示,则必须调用函数读出。
图2优化OB1的启动信息例如在OB1中调用RD_SINFO函数读出运行时间,程序如图3所示。参数**_SI为当前OB1的启动信息,数据类型为SI_classic,需要手动键入,ZI1为上次扫描时间,ZI2_3包含较小、较大扫描时间,低字为较小扫描时间,高字为较大扫描时间,示例中分别传送到MW10和MW12中。START_UP_SI为暖启动OB的启动信息,示例中没有进行引用。
图2优化OB1的启动信息例如在OB1中调用RD_SINFO函数读出运行时间,程序如图3所示。参数**_SI为当前OB1的启动信息,数据类型为SI_classic,需要手动键入,ZI1为上次扫描时间,ZI2_3包含较小、较大扫描时间,低字为较小扫描时间,高字为较大扫描时间,示例中分别传送到MW10和MW12中。START_UP_SI为暖启动OB的启动信息,示例中没有进行引用。
图2优化OB1的启动信息
例如在OB1中调用RD_SINFO函数读出运行时间,程序如图3所示。参数**_SI为当前OB1的启动信息,数据类型为SI_classic,需要手动键入,ZI1为上次扫描时间,ZI2_3包含较小、较大扫描时间,低字为较小扫描时间,高字为较大扫描时间,示例中分别传送到MW10和MW12中。START_UP_SI为暖启动OB的启动信息,示例中没有进行引用。
图3调用RD_SINFO函数3.调用RT_INFO函数读出运行时间通过函数RT_INFO也可以读出CPU的运行时间,示例程序如图4所示。
图3调用RD_SINFO函数3.调用RT_INFO函数读出运行时间通过函数RT_INFO也可以读出CPU的运行时间,示例程序如图4所示。
图3调用RD_SINFO函数
3.调用RT_INFO函数读出运行时间
通过函数RT_INFO也可以读出CPU的运行时间,示例程序如图4所示。
图4调用RT_INFO函数通过模式1、2、3可以读出CPU的上次扫描、较小、较大扫描时间,在这三种模式下,参数INFO的数据类型为LTIME,可以直接读出。也可以通过其他模式读出运行时间的百分比。4.调用RUNTIME指令读出运行时间通过指令RUNTIME可以从参数RET_Val直接读出CPU的运行时间,单位为秒,MEM为中间保存程序运行的存储器,两个参数类型都是LREAL,除此之外还可以读出一段程序的运行时间。如图5所示。
图4调用RT_INFO函数通过模式1、2、3可以读出CPU的上次扫描、较小、较大扫描时间,在这三种模式下,参数INFO的数据类型为LTIME,可以直接读出。也可以通过其他模式读出运行时间的百分比。4.调用RUNTIME指令读出运行时间通过指令RUNTIME可以从参数RET_Val直接读出CPU的运行时间,单位为秒,MEM为中间保存程序运行的存储器,两个参数类型都是LREAL,除此之外还可以读出一段程序的运行时间。如图5所示。
图4调用RT_INFO函数
通过模式1、2、3可以读出CPU的上次扫描、较小、较大扫描时间,在这三种模式下,参数INFO的数据类型为LTIME,可以直接读出。也可以通过其他模式读出运行时间的百分比。
4.调用RUNTIME指令读出运行时间
通过指令RUNTIME可以从参数RET_Val直接读出CPU的运行时间,单位为秒,MEM为中间保存程序运行的存储器,两个参数类型都是LREAL,除此之外还可以读出一段程序的运行时间。如图5所示。
(1) 整体配置中的 S7-1500/ET 200MP
S7-1500(及ET200MP)系统产品是西门子较新的控制器系列产品,供电部分依然取单相(L1、N和PE)给AC/DC
电源
转换模块输入供电,输出24V电源给CPU等供电,同时也给机架上的其他模板内部芯片提供电源。机架导轨、参考位M和机柜与机柜内的接地母线连接,最后与TN-S供电系统的PE连接。
图1显示了通过 TN-S 为S7-1500/ET 200MP系统供电及接地的的基本原理。
图1 具有接地参考电位的S7-1500/ET200MP供电、接地原理图(2) S7-1500系统的电气隔离 在电气设计上,S7-1500系统/ET 200MP 分布式 I/O 系统以及组件之间都是电气隔离的: 系统电源 (PS) 初级侧和所有其它电路组件之间; CPU/接口模块的 (PROFIBUS/PROFINET) 通信接口和所有其它电路组件之间; 负载电路/过程电子元件和 S7-1500/ET 200MP 的所有其它电路组件之间。 例如:S7-1500 系统的电位关系(图2)
图1 具有接地参考电位的S7-1500/ET200MP供电、接地原理图(2) S7-1500系统的电气隔离 在电气设计上,S7-1500系统/ET 200MP 分布式 I/O 系统以及组件之间都是电气隔离的: 系统电源 (PS) 初级侧和所有其它电路组件之间; CPU/接口模块的 (PROFIBUS/PROFINET) 通信接口和所有其它电路组件之间; 负载电路/过程电子元件和 S7-1500/ET 200MP 的所有其它电路组件之间。 例如:S7-1500 系统的电位关系(图2)
图1 具有接地参考电位的S7-1500/ET200MP供电、接地原理图
(2) S7-1500系统的
电气
隔离
在电气设计上,S7-1500系统/ET 200MP 分布式 I/O 系统以及组件之间都是电气隔离的:
系统电源 (PS) 初级侧和所有其它电路组件之间;
CPU/接口模块的 (PROFIBUS/PROFINET) 通信接口和所有其它电路组件之间;
负载电路/过程
电子
元件和 S7-1500/ET 200MP 的所有其它电路组件之间。
例如:S7-1500 系统的电位关系(图2)
图2 S7-1500 的电位关系(以 CPU 1516-3 PN/DP 为例)以及PROFINET IO 上 ET 200MP 的电位关系(图3)
图2 S7-1500 的电位关系(以 CPU 1516-3 PN/DP 为例)以及PROFINET IO 上 ET 200MP 的电位关系(图3)
图2 S7-1500 的电位关系(以 CPU 1516-3 PN/DP 为例)
以及PROFINET IO 上 ET 200MP 的电位关系(图3)
图3 ET 200MP 的电位关系(以 IM 155-5 PN HF 接口模块为例) 与PROFIBUS DP 上 ET 200MP 的电位关系(图4)
图3 ET 200MP 的电位关系(以 IM 155-5 PN HF 接口模块为例) 与PROFIBUS DP 上 ET 200MP 的电位关系(图4)
图3 ET 200MP 的电位关系(以 IM 155-5 PN HF 接口模块为例)
与PROFIBUS DP 上 ET 200MP 的电位关系(图4)
图4 ET 200MP 的电位关系(以 IM 155-5 DP ST 接口模块为例) 如上面三图中,背板总线连接在一起,PS电源和CPU/IM的M参考位均通过RC和导轨隔离,IO模块通过电容和安装导轨隔离,导轨与机柜内的接地母线连接,最后与TN-S供电系统的PE连接。 通过集成 RC 装置或集成电容来传导高频干扰电流,并且会消除静电荷。尽管使用接地安装导轨,但由于高阻型RC连接,必须将 S7-1500 自动化系统/ET 200MP 分布式I/O 系统的参考电位视为未接地。
图4 ET 200MP 的电位关系(以 IM 155-5 DP ST 接口模块为例) 如上面三图中,背板总线连接在一起,PS电源和CPU/IM的M参考位均通过RC和导轨隔离,IO模块通过电容和安装导轨隔离,导轨与机柜内的接地母线连接,最后与TN-S供电系统的PE连接。 通过集成 RC 装置或集成电容来传导高频干扰电流,并且会消除静电荷。尽管使用接地安装导轨,但由于高阻型RC连接,必须将 S7-1500 自动化系统/ET 200MP 分布式I/O 系统的参考电位视为未接地。
图4 ET 200MP 的电位关系(以 IM 155-5 DP ST 接口模块为例)
如上面三图中,背板总线连接在一起,PS电源和CPU/IM的M参考位均通过RC和导轨隔离,IO模块通过
电容
和安装导轨隔离,导轨与机柜内的接地母线连接,最后与TN-S供电系统的PE连接。
通过集成 RC 装置或集成电容来传导高频干扰电流,并且会消除静电荷。尽管使用接地安装导轨,但由于高阻型RC连接,必须将 S7-1500 自动化系统/ET 200MP 分布式I/O 系统的参考电位视为未接地。
是西门子应用较多的PLC系列产品,而由于西门子其他系列的PLC系统的特性与S7-300系列产品均类似,因此本部分介绍的原则将基本适用于整个PLC部分。
1、S7-300 PLC系统接地总原则
对于PLC及控制系统的整体的供电及接地的要求,主要有以下几点原则:
系统主回路采用三相五线制供电,主回路须增加相应的开关及保护装置
负载
电源
从主回路供电中取电,如果是多个负载电源,则应按照负载均衡的原则进行分配
负载侧电源,无论是直流还是交流,均应增加短路和过载保护
系统接地电阻不大于4Ω
机柜中的接地母线与系统的PE线相连
机柜的外壳、设备安装背板均应**通过金属部件连接在一起,并与接地母线相连
设备安装背板应考虑EMC特性(例如采用镀锌板)
系统中的
电气
设备的PE端子应与接地母线相连,并**就近相连以及连接电缆尽量粗,尽量短的原则
应注意柜内电气设备的其他接地要求
关于这些原则,请参考S7-300PLC的供电及接地原理图(图1)。
图1 系统供电、接地原理图2、S7-300 PLC系统的接地规范(1) 电源模板(PS307)的接地要求对于电源模板,供电均采用220V/120V交流电源,注意电源需要连接PE线。电源模板输出为CPU及模板提供24VDC电源(图2-2)。
图1 系统供电、接地原理图2、S7-300 PLC系统的接地规范(1) 电源模板(PS307)的接地要求对于电源模板,供电均采用220V/120V交流电源,注意电源需要连接PE线。电源模板输出为CPU及模板提供24VDC电源(图2-2)。
图1 系统供电、接地原理图
2、S7-300 PLC系统的接地规范
(1) 电源模板(PS307)的接地要求
对于电源模板,供电均采用220V/120V交流电源,注意电源需要连接PE线。电源模板输出为CPU及模板提供24VDC电源(图2-2)。
图2-2 PS电源和CPU连接示意图(2) CPU的接地连接1) CPU 31x 接参考地电位 在S7-300的CPU的电源端子处,插着一个滑动金属片,将该滑动金属推进去时,DC 24V的M端将通过该滑动金属片与CPU的安装导轨相连,通过导轨实现接地,所有从M来的干扰电流都可以被释放至接地导线/地(图2-3)。 默认情况下,滑动金属片都是推进去的。
图2-2 PS电源和CPU连接示意图(2) CPU的接地连接1) CPU 31x 接参考地电位 在S7-300的CPU的电源端子处,插着一个滑动金属片,将该滑动金属推进去时,DC 24V的M端将通过该滑动金属片与CPU的安装导轨相连,通过导轨实现接地,所有从M来的干扰电流都可以被释放至接地导线/地(图2-3)。 默认情况下,滑动金属片都是推进去的。
图2-2 PS电源和CPU连接示意图
(2) CPU的接地连接
1) CPU 31x 接参考地电位
在S7-300的CPU的电源端子处,插着一个滑动金属片,将该滑动金属推进去时,DC 24V的M端将通过该滑动金属片与CPU的安装导轨相连,通过导轨实现接地,所有从M来的干扰电流都可以被释放至接地导线/地(图2-3)。
默认情况下,滑动金属片都是推进去的。
图2-3 CPU31X的接地参考电位示意(默认状态)实际设备中如下所示(图2-4):
图2-3 CPU31X的接地参考电位示意(默认状态)实际设备中如下所示(图2-4):
图2-3 CPU31X的接地参考电位示意(默认状态)
实际设备中如下所示(图2-4):
图2-4 CPU上的滑动金属片未拔出2) CPU 31x 浮地系统 如果系统的“地”并不干净,或者希望将系统做成浮地的,则可以将该金属滑动片撬出,此时M和导轨分开,系统与“地”是不直接相连的,而是通过 RC 回路进行隔离连接的。
图2-4 CPU上的滑动金属片未拔出2) CPU 31x 浮地系统 如果系统的“地”并不干净,或者希望将系统做成浮地的,则可以将该金属滑动片撬出,此时M和导轨分开,系统与“地”是不直接相连的,而是通过 RC 回路进行隔离连接的。
图2-4 CPU上的滑动金属片未拔出
2) CPU 31x 浮地系统
如果系统的“地”并不干净,或者希望将系统做成浮地的,则可以将该金属滑动片撬出,此时M和导轨分开,系统与“地”是不直接相连的,而是通过 RC 回路进行隔离连接的。