联系我们时请说明是91化工仪器网上看到的信息,谢谢!
产品简介 产地类别 进口 西门子X310交换机
上海盟疆自动化(shimu)优势产品; PLC 、屏、变频器、电缆及通讯卡、数控、网络接头、伺服驱动、 凡在公司采购西门子产品,均可质保
一年,假一罚十,以客户的需求为宗旨 , 以诚为本 , 精益求精是专业从事西门子工业自动化产品销售和集成的高新技术企业。
详细介绍
西门子X310交换机
6GK5310-0FA10-2AA3
SCALANCE X310,managed plus IE 交换机,3x 10/100/1000 Mbit/ 和 7x 10/100 Mbit/s RJ45 端口 LED 诊断,错误信号 含选择/设置按钮的触点, PROFINET 输入输出设备,网络 管理,内置 冗余管理,办公室 特性(RSTP,VLAN,IGMP,..) C-PLUG 含在供货范围内
问题:在S7-CPU中使用嵌套程序需要注意什么,如何使用?
回答:S7-CPU支持嵌套程序,但对于不同的CPU类型,在使用时需要注意一些问题。
1. 不同的CPU类型,支持的嵌套程序深度不同,用户可在CPU的技术数据中查到此参数,以6ES7315-2AG10-0AB0为例。
图1:CPU的嵌套深度参数
2. 用户可以按照如下方式使用嵌套功能:
a) 在某个优先级组织块中调用多个嵌套FC/FB。例如,在OB1 (优先级为1)调用FC1,FC1中调用FC2,FC2中调用FC3,等等,一直到FC7,与OB1共8层深度。如果在FC7 中又调用了FC8 ,此时会导致CPU 停机,在CPU在线信息界面中可查看到此情况,如图2所示。用户也可在OB35(优先级为12)调用FC11,FC11中调用FC12,FC12中调用FC13,等等,一直到FC17。
图2:嵌套调用
b) 在某个优先级中调用某个FC,此FC多次调用自身。例如,在OB1 (优先级为1)调用FC1,FC1中仍然调用FC1,用户在FC1 的程序中必须编程累计FC1被调用的次数,如果达到了7次,则需要从FC1 中跳出调用(此方法即为软件行业广泛应用的递归编程方法)。如果在FC1 调用自身次数超出了CPU允许的嵌套深度,此时会导致CPU 停机。
3. 当用户在使用嵌套功能时,可能出现几种错误:
a) The nesting depth of block calls (U-Stack) is too high(嵌套深度太高)。例如:
? 用户在某个优先级(如OB1)中调用嵌套程序深度超出所使用CPU支持深度,如第2节(a) 部分所描述。
? 用户在某个优先级(如OB1)中调用嵌套程序深度超出所使用CPU支持深度,如第2节(b) 部分所描述。
此时CPU将报16#4575错,如图3所示:
图3:同步错误嵌套1
b) The nesting depth of synchronous errors is too high(同步错误嵌套深度太高)。例如:
? 用户在OB1中使用L DB1.DBB0 语句(CPU中并未下载DB1),
? 此时CPU出现编程错误,将调用OB121。
? 如果用户在下载的OB121中又使用了L DB1.DBB0 指令,将导致CPU停机
此时CPU将报16#4573错,如图4所示:
图4:同步错误嵌套2
c) Error during allocation of local data (分配本地数据错误) 。对于S7-CPU每个优先级都有对本地数据大小的限制,如果用户使用的范围超出了此限制,CPU将出现错误。以6ES7315-2AG10-0AB0为例,其每个优先级下的本地数据大小为512 BYTE。如下错误使用都可能导致此错误:
? OB1 调用FC1,FC1 中定义的local data(TEMP数据类型)与OB1中定义的local data(TEMP数据类型)总和超出了CPU 对此优先级分配的local data 数量。
? OB1 中嵌套调用多个FC, 这些FC 使用的local data 与OB1中定义的local data(TEMP数据类型)总和超过了分配给此优先级的local data 数量。
此时CPU将报16#3576错,如图5所示:
图5:分配本地数据错误
? 对于S7-400CPU, 用户可以在硬件配置中调节每个优先级下的本地数据大小,以6ES7412-2XG04-0AB0为例,如图6所示:
图6:分配本地数据
4. 当用户在使用嵌套功能出现错误时,对于支持OB88的CPU(例如S7-400CPU),可用通过下载OB88来防止CPU停机,此时CPU将处于SF状态,但OB88不可以再出现嵌套使用错误,否则CPU将进入停机状态。对于不支持OB88的CPU(例如S7-300CPU),当出现嵌套调用错误时,无法避免CPU进入停机状态。
描述
S7-PLCSIM 支持以下通讯块来实现两个S7-400 CPU模块间的通信:
要求
需要S7-PLCSIM V5.4 SP3(或更高版本)。在STEP 7(TIA Portal)中建立一个项目,对两个S7-400 CPU进行硬件组态和网络组态。在模块之间已经组态了S7连接和通信连接。在主动站S7-400 CPU的用户程序中,调用 BSEND 指令来给被动站CPU发送数据。在被动站S7-400CPU中调用 BRCV 指令来接收来自主动站S7-400 CPU的数据。注意
本条目提供的项目包含两个S7-400 CPU的组态和连接组态以及用户程序。
以下步骤列出了如何使用PLCSIM仿真通讯。下载附件中的STEP 7(TIA Portal)项目包含了两个S7-400站通过工业以太网通信 。
Station_1中的OB1包含计数器的程序,将其输出值传送到Station_2。
在项目导航中选中 Station_1 并打开S7-PLCSIM,可以通过菜单命令 online Simulation Start 或者菜单栏的 Start simulation 图标打开。实例编号为 S7-PLCSIM1 的第一个仿真CPU的对话框被打开。如果是首次仿真这个项目,就会打开 Extended download to device 对话框。在 PG/PC Interface 中选择如图1所示的设置,并单击 Start search 。
图. 1
然后,在打开的 Load preview 对话框中,继续单击 Load 按钮。
在S7-PLCSIM 中使用 Add 菜单来加载子窗口 Input 和 Counter ,用来监视和控制程序。对于 Station_1 需要 EB2 和 Z1 。
在S7-PLCSIM1的 CPU 子窗口中,将运行模式从 STOP 切换到 RUN-P 。
图. 2
选中项目导航中的 Station_2 并重复步骤1来打开第二个 S7-PLCSIM2 实例。
在 Load preview 对话框中单击 Load 按钮。
与步骤5相同,给实例 S7-PLCSIM2 添加 Output 。对于 Station_2 需要 AW1 。
在S7-PLCSIM2中的 CPU 子窗口中,将运行模式从 STOP 切换到 RUN-P 。
图. 3
在S7-PLCSIM1(仿真Station 1)中,EB2控制计数器Z1并将计数值传送到S7-PLCSIM2 (仿真Station 2)中的AW1。E2.0: 自动向上计数的时钟标记E2.1:向上计数E2.2: 向下计数E2.3: 计数器的预设值E2.4: 复位计数器 其他推荐产品 更多
以上信息由企业自行提供,信息内容的真实性、准确性和合法性由相关企业负责,91化工仪器网对此不承担任何保证责任。
温馨提示:为规避购买风险,建议您在购买产品前务必确认供应商资质及产品质量。