西门子CPU模块6ES7211-0BA23-0xB0
西门子CPU模块6ES7211-0BA23-0xB0
6ES7211-0BA23-0xB0
SIMATIC S7-200,CPU 221 紧凑型设备,交流电源 6 个直流数字输入/4 个数字输出,继电器输入端, 4 KB 程序/2 KB 数据
|
上海朕锌电气设备有限公司
销售员:田经理
24小时联系电话:158-0187-1621
座机:021-31038102
商务QQ:1944287917
商务微信手机同步
地址:上海市金山区枫泾镇枫湾路500弄
怎样使用通讯功能块 FC50 和 FC60 编程?
-
文献
-
涉及产品
说明:
使用下面的连接通信,必须在S7-400的S7程序中调用通信功能块 FC50 "AG_LSEND" 和 FC60 "AG_LRECV" 。
- TCP 连接
- ISO-on-TCP 连接 (RFC 1006)
- ISO 传输连接
- UDP 连接
- FDL 连接
通讯功能块 FC50 “AG_LSEND” 和 FC60 “AG_LRECV”的特点
- FC50 和 FC60 是异步通讯功能块。
- FC50 和 FC60 的运行需要几个 OB1 周期。
- FC50 由输入参数 "ACT"激活。
- 通讯任务结束由 “DONE”, "NDR" 或 “ERROR”指示。
- AG_LSEND 和 AG_LRECV 可以通过同一个连接同时通讯。
- 最新版本的功能块 FC50 "AG_LSEND" 和 FC60 "AG_LRECV" 可以在 SIMATIC_NET_CP 库"CP 400 > Blocks" 里找到。
例程说明
S7 程序包含来自 SIMATIC_NET_CP 库的通讯功能块 FC50 “AG_LSEND”和 FC60 “AG_LRECV”的调用。 FC50 “AG_LSEND”用于发送数据到 S7 或 S5 站,PC 或者第三方系统。FC60 “AG_LRECV” 用于接收来自 S7 或 S5 站,PC站或第三方系统的数据。
例程中通讯功能块 FC50 "AG_LSEND" 和 FC60 "AG_LRCV" 用于 ISO-on-TCP 连接的通讯。
首先创建 S7-400 站的硬件配置。
注意:
将 MB10 配置为时钟标志。发送任务由该时钟标志触发。保存并编译 S7-400 站的硬件组态并装载到 CPU。
例程中用到了定时器 T10 。
然后在 NetPro 中为 CPU 配置一种上面提到的通讯连接。如果通讯伙伴也在该 STEP7 项目中一起配置,可以配置一个指定的通讯连接。如果通讯伙伴没有与 S7-400 站在同一个 STEP7 项目下,可以配置一个未指定的通讯连接。配置通讯连接时,确认 IP 地址或 Profibus 地址已经正确分配。 同样,确认 PORT,TSAP,LSAP 已经正确分配。这些 用于识别通讯伙伴间的通讯连接。
FC50 “AG_LSEND”和 FC60 “AG_LRECV”的输入参数“ID”和“LADDR”必须被指定。该参数在通讯连接的属性对话框“常规”选项卡中设置。
STEP7 的程序由块 OB100, OB1, FB200, DB200, DB201, FC50 和 FC60 组成。
OB100:
OB100 是启动组织块,当 CPU 重新启动(暖启动)时运行。在这个组织块中通过 M1.0 使能第一次通讯触发器。
OB1:
OB1 循环组织块。在这个组织块中调用 FB200 (背景数据块:DB200) ,使用 M0.3“INIT” 作为参数 (INIT_COM)。FB200一旦执行则复位 M0.3。
图. 02
FB200
FB200 在 OB1 中调用。在 FB200 中调用了 FC50 “AG_LSEND” 和 FC60 “AG_LRECV”。
参数化FC50"AG_LSEND"
在FC50 的输入参数“ACT”得到一个上升沿后触发发送任务。 时钟标志位 M10.7和变量 “SND_BUSY”及"CONNECTION_BROKEN_SEND"参数控制发送任务的触发。当发送任务正在执行时,“SND_BUSY”被置位 ,此时不能触发新的发送任务,由于功能块的执行是异步的,并可以持续几个周期,所以联锁功能尤其重要。如果不等待第一个发送工作成功完成或出错终止就不间断的触发新的发送任务会引起通讯过载。 如果连接没有建立,通讯块每10s被调用1次同时触发发送任务。
输入参数 “ID” 和 “LADDR”的值必须取自 NetPro中通讯连接的属性对话框(参见 图01)。需要为 FC50 的 “SEND”输入参数指定包含将要发送数据的数据区地址和长度(发送缓冲区), 例如: P#DB201.DBX0.0 BYTE 100。
在“LEN”输入参数中键入要发送的字节数,本例中是100。
输出参数 “DONE”, “ERROR” 和 “STATUS”用于任务评估,并且只在同一个周期内有效。
图. 04
当发送任务成功完成后,“SND_BUSY” 被复位。 然后可以触发下一个发送任务。
图.05
如果发送任务出错终止,“SND_BUSY” 也会被复位 ,FC50 输出参数 “STATUS”的值被保存用于故障分析。
如果 “STATUS”输出参数的值是 0x7000Hex (28672Dec),FC50 “AG_LSEND”再次被调用。
图.06
如果输出参数“STATUS”的值是 0x8183Hex (32381Dec) 或者 0x8304Hex (31996Dec), 也就是说通信连接不能建立的时候,变量"CONNECTION_BROKEN_SEND" 被置位为1持续10s,在此期间FC50不被调用和处理,然后新的发送任务被触发,如果连接仍然不能建立, "CONNECTION_BROKEN_SEND"再次被置位为1并持续10s,当连接不能建立的时候每10秒发起一次发送任务。
图07
参数化 FC60 "AG_LRECV"
接收任务通过M0.1为“TRUE”控制触发,M0.1为“TRUE始终为1,那么FC60 "AG_LRECV" 一直处于准备好接收状态,能够随时接收数据
输入参数 “ID” 和 “LADDR”的值必须取自 NetPro中通讯连接的属性对话框(参见 图 01)。需要为 FC60 的输入参数“RECV”指定包含接收数据的数据区域地址和长度(接收缓冲区),例如:P#DB201.DBX100.0 BYTE 100。
图08
输出参数“NDR "用于表示已经接收到了新数据。输出参数 " LEN "表示接收到的数据长度。
如果没有成功接收到数据,输出参数“STATUS”的值被保存用于故障分析。
图.09
如果输出参数 "STATUS" 的值是 0x8183Hex (32381Dec) 或者 0x8304Hex (31996Dec), 即不能建立连接时,变量"CONNECTION_BROKEN_RECV"被置位为1保持10秒。在此期间,FC60不能被调用同时没有数据被接收。只有在过了10秒后才可能再次接收数据。
图.10
成功接收数据的长度保存在静态变量里。
图.11
在 FB200 中,对 FC50 "AG_LSEND" 和 FC60 "AG_LRCV" 的 STATUS 各种值出现次数有评估。这些信息保存在 FB200 的"Structure"类型的变量"STATISTIC" 中,这是 FB200 统计信息接口参数。
图.12
可以通过变量"#STATISTIC.ON_OFF" 打开/关闭 STATUS 评估,该状态评估默认为开启状态。
在Energy Manager PRO V7.0的Web页面中不能删除已经加载的Widget,应该如何解决?
-
文献
-
涉及产品
1 问题描述
在Energy Manager PRO V7.0中组态Widgets之后,发现无法在Web页面的在线配置中删除已经加载的Widget,如图1-1所示。
图1-1
2 问题分析
产生该问题的原因是操作系统的WebDAV功能被启用,其系统行为导致Widget在Web页面中无法在线删除。
在安装Energy Manager PRO的Web Server组件之前,仅需要安装必需的IIS(Internet Information Service)的部分组件,而非全部的组件,尤其是和WebDAV相关的组件,例如WebDAV Publishing。
如果已经安装了IIS的全部组件,在安装Energy Manager PRO的Web Server组件之后,Energy Manager PRO的Web站点的配置文件已经包含了WebDAV的信息。
注意:
产生该问题之后,即使移除了非必需的IIS组件,Energy Manager PRO的Web站点的配置文件并不会修改,该问题也并不会解决。
3 解决方法
在Energy Manager PRO的安装路径下找到Web Server的配置文件\EnMPRO\BDataWeb\Web.config,建议修改之前做好备份。
由于该文件可能会根据操作系统的不同而不同,所以需要修改的位置可能也会有差异,但不会有太大的偏差。
可以使用记事本打开Web.config文件,在43行附近找到<system.webServer>组内的</handlers >,并在其下方添加以下3行文本
<modules>
<remove name="WebDAVModule" />
</modules>
在38行附近找到<system.webServer>组内的<handlers >,并在其下方添加以下5行文本
<remove name="WebDAV" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
具体的信息可以参考图3-1,需要添加的文本为绿色显示。
在STEP 7 V11 SP2 或更高版本中,如何在线访问一个DP从站,例如ET200S,来探测诊断状态和诊断信息?
-
文献
-
涉及产品
描述
在本条目中提供了如下信息,在STEP 7 V11 SP2 或更高版本中,如何在线访问一个DP从站,例如ET200S,来探测诊断状态和诊断信息。
条目描述:
- 如何在DP主站及连接的DP从站间建立在线连接
- ET200S的诊断信息(允许运行假设组态与实际安装不匹配)
- ET200S的诊断信息(禁止运行假设组态与实际安装不匹配)
- ET200S的诊断信息(终端模块没有插入)
- ET200S的SF及BF指示灯状态
DP从站(ET200S)启动和在运行(循环数据交换)期间的模块的拔插是通过参数“Operation if preset configuration does not match actual configuration”来控制。
可以在ET200 S的设备视图中的硬件和网络编辑器中启用或禁用参数“Operation if preset configuration does not match actual configuration”。
在ET200S的设备视图中选中接口模块。在巡视窗口中选择“Properties”标签。在巡航区域内选择“Module parameters”条目显示“Properties”标签。启用或禁用参数“Operation if preset configuration does not match actual configuration”。
图 01
ET200S启动和在运行(循环数据交换)期间的模块移出或插入产生的诊断状态和诊断信息取决于模块的行为和参数“Operation if preset configuration does not match actual configuration”。
根据下面的步骤来探测ET200S和组态的模块的诊断状态和诊断信息。
建立在线连接
首先要建立CPU(DP主站)和ET200S (DP从站)的在线连接。步骤如下:
No. | 步骤 |
1 | 在项目树中选中组态为DP主站的CPU文件夹。选择“online > Go online”目录建立CPU(DP主站)和ET200S(DP从站)的在线连接。
|
2 | 一旦在线连接建立,在“Online”菜单中启用“Receive alarms”功能。
|
ET200S的诊断信息(允许运行假设组态与实际安装不匹配)
如果预设了当前组态与实际安装不匹配允许运行,ET200S(DP从站)行为如下:
- 模块仍然启动,尽管预设组态与实际组态不匹配(错误的模块被插入)。
- 拔插模块仍然进行循环数据交换(不报站故障)。
基于上述行为描述,ET200S 发出诊断状态“Module exists. OK”,并且移除或插入不正确的模块会显示为故障。
只有故障模块传递诊断状态“Not reachable”。
根据下面的步骤探测ET200S的诊断状态和诊断信息。
No. | 步骤 |
1 | 在项目视图中,组态为DP主站的CPU的文件夹包含相关的对象和功能。 在“Distributed I/O”文件夹中可以找到组态的PROFIBUS DP主站系统和连接的DP从站。 在DP从站文件夹上双击“online & Diagnose”来打开组态为DP从站的ET200S的诊断窗口。
|
2 | ET200S的诊断显示了诊断状态为“Module exists. OK”。
|
3 | 在ET200S的诊断窗口中移除的或者不正确的模块插槽显示为故障。
|
按照下面的步骤可以探测ET200S故障插槽上模块的诊断状态。
No. | 步骤 |
1 | 在项目树中右键点击ET200S显示为故障的模块。选择“online & diagnostics”弹出菜单打开故障模块的诊断信息和关于故障模块的更多信息。
|
2 | 故障模块的诊断信息显示诊断状态为“Not reachable” 。
|
3 | 分布式I/O ET200S(DP从站)的故障信息进入到CPU(DP主站)的诊断缓冲区。
|
ET200S的诊断信息(禁止运行假设组态与实际安装不匹配)
如果设置了当前组态与实际安装不匹配禁止运行(参数禁用),ET200S(DP从站)的行为如下:
- 如果设置了组态与实际安装不匹配禁止运行(错误的模块被插入),模块不会启动(不会进入循环数据交换)。
- 如果在运行过程中模块被移除或者插入,会导致站点故障并且模块不再参与循环数据交换。
基于上述行为描述,ET200S 产生下面的诊断状态:探测到在线与离线不一致,这时移除或插入不正确的模块会显示为故障。
图 10
图 11
只有故障模块传递诊断状态“Not reachable”。
图 12
分布式I/O ET200S(DP从站)的故障信息进入到CPU(DP主站)的诊断缓冲区。
图 13
ET200S的诊断信息(终端模块没有插入)
如果ET200S上没有插入终端模块或者多个模块从Et200S上被移除,那么没有数据会在DP主站和从站间进行交换。
ET200S 产生下面的诊断状态:探测到在线与离线不一致,并且所有的模块会显示为故障。
图 14
图 15
ET200S模块传递诊断状态为现有的模块有故障。
图 16
分布式I/O ET200S(DP从站)的故障信息进入到CPU(DP主站)的诊断缓冲区。