关键词 |
西门子代理商,西门子总代理商,西门子PLC模块,西门子PLC代理商 |
面向地区 |
品牌 |
Siemens/西门子 |
|
型号 |
西门子代理商 |
电流类型 |
交流配电屏 |
电压类型 |
高压配电屏 |
加工定制 |
否 |
绝缘电压 |
V |
主电路电压 |
V |
工作温度范围 |
℃ |
额定频率 |
Hz |
结构形式 |
柜式 |
湖州西门子总代理商PLC
湖州西门子总代理商PLC
湖州西门子总代理商PLC
PLC的普通定时器的工作与扫描工作方式有关,其定时精度较差。在接通延时定时器的输入信号的上升沿和定时器输出位的上升沿,分别调用SFC1读取CPU中的日期和时间,用IEC功能FC8从其中提取实时时间(TIME_OF_DAY)。设置时间预置值分别为5s和50s,扫描循环时间为10ms。作者做了多次实验,发现定时器的定时误差为1~9ms。
如果需要的延时,应使用延时中断 OB。用 SFC 32“SRT_DINT”启动延时中断,延迟时间为1~60000ms,精度为1ms。延时时间到时触发中断,调用SFC32的OB。CPU316 及以下的 CPU 只能使用 OB20,暖启动或冷启动将清除延时中断 OB的启动事件。
1.硬件组态
用新建项目向导生成一个名为“OB20例程”的项目(见随书光盘中的同名例程),CPU模块的型号为CPU 315-2DP。打开硬件组态工具HW Config,将硬件目录中名为“DI4xNAMUR,Ex”的4点DI模块插入4号槽,自动分配的DI模块的字节地址为0。双击该模块,打开它的属性对话框(见图4-47)。用复选框启用硬件中断,设置I0.0产生上升沿中断。在5号槽插入一块16点DO模块。
2.程序设计
在10.0的上升沿触发硬件中断,CPU调用OB40,在OB40中调用SFC32“SRT_DINT”启动延时中断(见图4-51),延时时间为10s。从LD12开始的8B临时局部变量是调用OB40的日期时间值,用MOVE指令将其中的后4个字节LD16保存到MD20。
图4-51 OB40中的程序
10s后延时时间到,CPU调用SFC 32的OB20。在OB20中用MOVE指令保存调用OB20的日期时间值的后4个字节(见图4-52)。同时将Q4.0置位,并通过PQB4立即输出。
图4-52 OB20中的程序
可以用I0.2将Q4.0复位(见图4-53)。在OB1中调用SFC34“QRY_DINT”来查询延时中断的状态字STATUS,查询的结果用MW8保存,其低字节为MB9。OB_NR的实参是延时中断 OB的编号,RET_VAL为SFC 执行时的错误代码,为0时无错误。
图4-53 OB1中的程序
在延时过程中,可以在10.1的上升沿调用SFC33“CAN_DINT”来取消延时中断过程。
3.仿真实验
打开仿真软件PLCSIM,将程序和组态信息下载到仿真PLC。切换到RUN-P模式时,M9.4马上变为1状态,表示OB20已经下载到了CPU中。
执行PLCSIM的菜单命令“Execute”→“TriggerErrorOB”→“Hardware Interrupt (OB40-OB47)…”(见图4-49),在“Hardware Interrupt OB(40-47)”对话框中,输入DI模块的起始字节地址0和模块内的位地址0。单击“Apply”按钮,I0.0产生硬件中断,CPU调用OB40,M9.2变为1状态,表示正在执行SFC32启动的时间延时。
在SIMATIC管理器中生成变量表(见图4-54),单击工具栏上的剑按钮,启动监控功能。MD20是在OB40中读取的BCD格式的时间值(25分9秒643毫秒),后1位为星期的代码,5表示星期4。
图4-54 变量表
10s的延时时间到时,CPU调用OB20,M9.2变为0状态,表示延时结束。OB20中的程序将Q4.0置位为1状态(见图4-52),并且用MOVE指令立即写入D0模块。可以用10.2复位Q4.0(见图4-53)。在OB20中保存在MD24的实时时间值为25分19秒643毫秒,与OB40中保存在MD20的时间值相减,可知定时精度是相当高的。
在延时过程中用仿真软件将I0.1 置位为1,M9.2变为0状态,表示0B20的延时被取消,定时时间到不会调用0B20。
为了满足工业逻辑控制的要求,同时结合计算机控制的特点,PLC的工作方式采用不断循环的顺序扫描工作方式。每一次扫描所用的时间称为扫描周期或工作周期。CPU从条指令执行开始,按顺序逐条地执行用户程序直到用户程序结束,然后返回条指令开始新的一轮扫描。PLC就是这样周而复始地重复上述循环扫描的。PLC工作的全过程可用图1所示的运行框图来表示。整个过程可分为以下几个部分:
部分是上电处理。PLC上电后对系统进行一次初始化,包括硬件初始化和软件初始化,停电保持范围设定及其他初始化处理等。
第二部分是自诊断处理。PLC每扫描一次,执行—次自诊断检查,确定PLC自身的动作是否正常。如CPU、电池电压、程序存储器、I/O和通讯等是否异常或出错,如检查出异常时,CPU面板上的LED及异常继电器会接通,在特殊寄存器中会存入出错代码。当出现致命错误时,CPU被强制为STOP方式,所有的扫描便停止。
第三部分是通讯服务。PLC自诊断处理完成以后进入通讯服务过程。检查有无通讯任务,如有则调用相应进程,完成与其他设备的通讯处理,并对通讯数据作相应处理;然后进行时钟、特殊寄存器更新处理等工作。
第四部分是程序扫描过程。PLC在上电处理、自诊断和通讯服务完成以后,如果工作选择开关在RUN位置,则进人程序扫描工作阶段。先完成输入处理,即把输入端子的状态读入输入映像寄存器中,然后执行用户程序,后把输出处理结果刷新到输出锁存器中。
在上述几个部分中,通讯服务和程序扫描过程是PLC工作的主要部分,其工作周期称为扫描周期。可以看出扫描周期直接影响控制信号的实时性和正确性,为了确保控制能正确实时地进行,在每个扫描周期中,通讯任务的作业时间被控制在一定范围内。PLC运行正常时,程序扫描周期的长短与CPU的运算速度、与I/O点的情况、与用户应用程序的长短及编程情况等有关。通常用PLC执行l KB指令所需时间来说明其扫描速度,一般为零点几ms到上百ms。值得注意的是,不同指令其执行时间是不同的,从零点几μs到上百μs不等,故选用不同指令所用的扫描时间将会不同。而对于一些需要高速处理的信号,则需要特殊的软、硬件措施来处理。
6ES7211-1BE40-0XB0 | CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI |
6ES7211-1AE40-0XB0 | CPU 1211C DC/DC/DC,6输入/4输出,集成2AI |
6ES7211-1HE40-0XB0 | CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI |
6ES7212-1BE40-0XB0 | CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI |
6ES7212-1AE40-0XB0 | CPU 1212C DC/DC/DC,8输入/6输出,集成2AI |
6ES7212-1HE40-0XB0 | CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI |
6ES7214-1BG40-0XB0 | CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI |
6ES7214-1AG40-0XB0 | CPU 1214C DC/DC/DC,14输入/10输出,集成2AI |
6ES7214-1HG40-0XB0 | CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI |
6ES7215-1BG40-0XB0 | CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES7215-1AG40-0XB0 | CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO |
6ES7215-1HG40-0XB0 | CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72171AG400XB0 | CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO |