前言:西门子电线电缆,西门子PLC,西门子代理商 西门子总代,西门子交换机,西门子CPU
6ES7193-6AP20-0AA0SIMATIC ET 200SP, 总线适配器 BA SCRJ/RJ45, 光纤-铜媒介转换器 1个 SCRJ FO 接口和, 1个 RJ45 接口产品商品编号(市售编号)6ES7193-6AP20-0AA0产品说明SIMATIC ET 200SP, 总线适配器 BA SCRJ/RJ45, 光纤-铜媒介转换器 1个 SCRJ FO 接口和, 1个 RJ45 接口产品家族BusAdapter产品生命周期 (PLM)PM300:有效产品价格数据价格组 / 总部价格组IR / 255列表价(不含税)显示价格您的单价(不含税)显示价格金属系数无交付信息出口管制规定AL : N / ECCN : EAR99H工厂生产时间10 天净重 (Kg)0.063 Kg包装尺寸6.80 x 8.10 x 3.00包装尺寸单位的测量CM数量单位1 件包装数量1其他产品信息EAN4047623405610UPC未提供商品代码85369010LKZ_FDB/ CatalogIDST76产品组X0FQ组代码R151原产地德国Compliance with the substance restrictions according to RoHS directiveRoHS 合规开始日期: 2015.03.25产品类别A: 问题无关,即刻重复使用电气和电子设备使用后的收回义务类别-REACH Art. 33 责任信息Lead CAS 号 7439-92-1 > 0, 1 % (w / w)Lead monoxide (lead ... CAS-No. 1317-36-8 > 0, 1 % (w / w)分类版本分类eClass1227-24-26-92eClass627-24-26-92eClass7.127-24-26-92eClass827-24-26-92eClass927-24-26-92eClass9.127-24-26-92ETIM7EC002584ETIM8EC002584IDEA43552UNSPSC1532-15-17-03西门子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数组的生成与使用教程?(1)生成数组??可以在数据块中定义数组,也可以在逻辑块的变量声明表中定义它。下面介绍在数据块中定义的方法。在SIMATIC管理器中用菜单命令“插入”→“S7块”→“数据块”生成数据块DB4。双击打开它,默认的显示方式为声明视图方式。声明视图用于定义、删除和修改共享数据块中的变量,指定它们的名称、数据类型和初始值。??在新生成的数据块的第一行和最后一行标有STRUCT(结构)和END_STRUCT(结构结束)。在这两行中间有一个自动生成的临时占位符变量。??将该行的名称改为数组的名称“PRESS”(见图4-7),变量的名称只能使用字母、数字和下划线,不能使用中文。用鼠标右键点击该行的“类型”列,执行弹出的快捷菜单中的“复杂类型”→“ARRAY”??(数组)命令,在出现的“ARRAY 【】”的方括号中输入??“1..2,1.3”,即指定二维数组PRESS有2×3个元素。在“注释”列按回车键,在AR-RAY下面一行的“类型”列输入“INT”,定义数组元素为16位整数,INT所在行的“地址”列自动生成的“*2.0”表示一个数组元素占用2B。地址列的“ 12.0”表示该数组的6个元素一共占用12B,地址列的内容是自动生成的。可以用中文给每个变量加上注释。??数组PRESS的第1个元素为PRESS【1,1】(见图4-6和图4-8),第4个元素为PRESS【2,1】,第6个元素为PRESS【2,3】。??(2)给数组元素赋初值??STEP7根据变量的数据类型给出默认的初始值,用户可以修改初始值。定义数组时可以在ARRAY所在的行的“初始值”列中给数组元素赋初值,各元素的初值之间用英语逗号分隔,例如上例中6个元素的初值可以写成“22,30,-5,0,0,0,结束时不用标点符号。??若相邻元素的初值相同可以简写,上述初值可以简写为“22,30,-5,3(0)”(见图4-7)。??执行菜单命令“视图”→“数据视图”,切换到数据视图方式,将显示数组和结构中各元素的初始值和实际值(见图4-8)。??在数据视图方式,显示变量的初始值和实际值,用户只能修改变量的实际值,修改后需要下载数据块。如果用户输入的实际值与变量的数据类型不符,将用红色显示错误的数据。在数据视图方式,用菜单命令“编辑”→“初始化数据块”,可以恢复变量的初始值。1 800??(3)访问数组中的数据??本例中的数组是数据块的一部分,访问数组中的数据时,需要指出数据块和数组的名称,以及数组元素的下标,例如”TANK”.PRESS【2,1】。其中的TANK是数据块DB4的符号名,PRESS是数组的名称,它们用英语的句号分开。方括号中是数组元素的下标,该元素是数组中的第4个元素(见图4-8)。??(4)用数组传递参数??如果在块的变量声明表中声明形参的类型为ARRAY,可以将整个数组作为参数来传递(见图4-23)。在调用块时也可以将某个数组元素赋值给同一数据类型的参数。??(5)用数组定义数据块的大小??数据块的大小与数据块中定义的变量的个数和数据类型有关。如果需要一个容量很大的数据块,可以用数组来定义数据块的大小。如果在数据块中只定义一个数组ARRAY 【1..500】,数组元素的数据类型为字,则该数据块的大小为1000B。可以用juedui地址和任意的简单数据类型来访问该数据块中的存储单元。如果访问数据块中未定义的地址,将会出现错误信息“读取时发生区域长度错误”。??(6)设置数据块的参数??用鼠标右键点击某个数据块,执行出现的快捷菜单中的“对象属性”命令,在出现的属性对话框的“常规-第2部分”选项卡中,可以用复选框设置数据块的属性。各参数具体的意义见在线帮助。??(7)使用程序状态功能监视数据块??点击数据块工具栏上的@按钮,自动切换到“数据视图”显示方式,数据块内的存储单元在线的数值在“实际值”列中显示。程序状态被激活后,不能切换为“声明视图”方式。??程序状态结束后,“实际值”列将显示程序状态之前的有效内容,在线数值不能传送到离线的数据块。