西门子PLC控制器6ES7317-6TK13-0AB0
如何在WinCC中获取与S7-300/400 CPU的通讯状态
WinCC项目中通讯连接至关重要,获取连接通讯状态能有效的判断当前系统的运行情况,及时处理问题。
1 画面中添加控件来获取通讯状态
WinCC 提供工具“Channel Diagonsis"来判断项目中连接的通讯状态,此工具在操作系统 “开始"—>“Simatic"—>“WinCC"—>“Tools"目录下可以找到。此工具也可以添加到WinCC画面中使用。
图1
打开WinCC“图形编辑器",在右边“对象选项板"中选择“控件"列表,如果是V6.2的系统在列表空白区域点击鼠标右键选择“添加/删除"(图1),如果是V7.0的系统需要先选中“ActiveX 控件",再点击鼠标右键选择“添加/删除"(图2)。
图2
打开“选择OCX控件"对话框,在OCX控件列表中找到并且选中“WinCC Channel Diagonsis Control"控件(图3),点击确定。然后在选项板控件列表中就能找到此控件,把此控件添加到画面中,激活WinCC项目。
S7-300的功能模块1.计数器模块模块的计数器均为0~32位或31位加减计数器,可以判断脉冲的方向,模块给编码器供电。有集成的DI/DO。这样就需要在程序中调用功能块完成量程转换。
图3
项目激活运行后,通道诊断控件会显示项目中通讯连接的通讯状态,绿勾表示通讯正常,红叉表示通讯故障。选中故障链接,在右边列表中能显示出此故障的错误代码(图4)。
图4
错误代码的说明可以在帮助文档“S7CHNERRORchs.HLP"中查到,此帮助文档在 WinCC 的安装路径下(如:C:ProgramsSiemensWinCCbin )找到。
2、STEP 7中模拟量输入/输出的编程2.1 FC105/FC106库文件位置在编程界面下,在Program elements中的 Libraries下的Standard Library下的 TI-S7 Converting Blocks中就可以找到,见下图:注意: 请不要使用S5-S7 Converting Blocks下的 FC105, FC106,该路径下的功能是用于S5输入输出模板的,在S7 输入输出模板上无法使用。公式如下:OUT = [ ((IN – LO_LIM)/(HI_LIM – LO_LIM)) * (K2 – K1) ] + K1常数K1 和K2 的值取决于输入值(IN)是双极性BIPOLAR 还是单极性UNIPOLAR 。
2 根据通讯状态改变对象属性
在连接中所建的变量,在通讯时都会带有变量状态信息,变量状态包含WinCC 和自动化设备之间的连接状态。通过获取这个变量状态,我们就能得知变量所在连接的通讯状态。
首先在需要监控的通讯连接下新建一个变量“status",地址取位存储区首地址(图5)。
在此文档中我们以静态文本来举例。在画面中添加一个静态文本,选择对象属性“字体"à “文本",在动态列表中选择“动态对话框"(图6)。
图6
在动态对话框中,表达式/公式选择变量“status",把表达式/公式的结果列表中“其他"范围对应的文本修改成“通讯已连接"。选择“变量状态",在弹出的状态列表中,把“没有连接"范围对应的文本修改成“通讯干扰"(图7),应用此设置。
图7
项目激活运行后,如果通讯正常,静态文本会显示“通讯已连接",如果通讯故障会显示“通讯干扰"。(具体故障原因可检查通道诊断)
SM338超声波传感器检测位置,无磨损、保护等级高、精度稳定不变。2.标准型CPU:CPU312,CPU313,314,315,315-2DP和316-2DP。建议用户使用STEP 7在线帮助,可以提供全面的编程帮助。
此组态方法也可应用到其他对象,例如修改对象的背景颜色等。
3 使用脚本获取通讯状态
上一章节是把变量的“变量状态"直接与对象属性关联,这个“变量状态"也可以直接使用脚本来读取,在脚本中判断通讯状态,继而执行比较复杂的逻辑操作。
首先在需要监控的通讯链接下新建一个变量“status",地址取位存储区首地址(图5)。
打开“全局脚本"—>“C-Editor",新建一个“动作",编写如下代码(图8)。脚本中“GetTagDWordState"函数获取了变量的变量状态,然后使用If语句执行判断。
图8
在工具栏上点击“信息/触发",(“信息/触发"按钮在V6.2系统中图标参考图8,如果是V7.0系统中图标参考图9)在属性选项板上选择“触发器"à“定时器"à“周期",然后点击“添加"按钮,在弹出对话框中填写触发器名称“Action1",然后定义“周期"5秒。这种组态(图10)会让此脚本在WinCC运行期间以5秒的时间间隔,循环执行。
图9
图10
注意事项:
1.项目运行前必须把计算机属性“启动"列表中“全局脚本行系统"给勾选上(图11)。
2.脚本的执行周期用户可根据项目自行修改,但是不建议执行周期过密。因为在WinCC系统中脚本是单进程的,如果脚本中有很耗时的执行过程,过密的执行周期会造成系统负担过大,导致脚本不执行或者系统运行缓慢等现象。
图11
4 CPU停机监控
这里需要注意一点,WinCC系统的默认设置是会监控CPU的STOP状态的,如果CPU打到STOP状态,也会显示通讯故障,通道诊断的错误代码“ 7001" 。这个默认设置可修改(图12),打开变量管理器,选择所用通讯协议,例如“TCP/IP",点击鼠标右键选择“系统参数",在对话框中选择 “CPU 停机监控"取消“激活",则不对CPU的STOP状态进行监控。
测量电机绝缘主要分两种,一种是绕组对地绝缘,还有就是绕组相间绝缘。都是使用兆欧表(摇表)测量。另外绕组层间(匝间)绝缘也是一种,但要使用万用表测量。测量绕组对地绝缘时,要把电机的接线全都拆掉。 先检查摇表的好坏,做开路、短路试验。摇表没问题后,用摇表一个表笔接电机外壳,转动摇把,达到120转/分,此时另一个表笔接绕组的一端,当读数稳定时,就是这个绕组的对地绝缘阻值。 三个绕组要分别测量三次 ,有的电机是已经把星型连接接好了的,只引出三根出线,那就只需摇测一次就行。相间绝缘就是绕组之间的绝缘,把表笔先接在一个绕组上,然后转表、测量另一个绕组与它的阻值。 *低要求是每伏一K ,即;1K / V 380V的电机是380K。 一般要大于0.5兆。层间绝缘使用万用表测量,就是通过比较三个绕组的直流电阻值来判断绕组是否存在层间(匝间)短路的故障。当测量后有一组数值明显偏小时,就怀疑这组层间有问题了。 一般用兆欧表测量电动机的绝缘电阻值,要测量每两相绕组和每相绕组与机壳之间的绝缘电阻值,以判断电动机的绝缘性能好坏。 使用兆欧表测量绝缘电阻时,通常对500伏以下电压的电动机用500伏兆欧表测量;对500~1000伏电压的电动机用1000伏兆欧表测量。对1000伏以上电压的电动机用2500伏兆欧表测量。 电动机在热状态(75℃)条件下,一般中小型低压电动机的绝缘电阻值应不小于0.5兆欧,高压电动机每千伏工作电压定子的绝缘电阻值应不小于1兆欧,每千伏工作电压绕线式转子绕组的绝缘电阻值,*低不得小于0.5兆欧;电动机二次回路绝缘电阻不应小于1兆欧。 电动机绝缘电阻测量步骤如下: (1)将电动机接线盒内6个端头的联片拆开。 (2)把兆欧放平,先不接线,摇动兆欧表。表针应指向“∞”处,再将表上有“l”(线路)和“e”(接地)的两接线柱用带线的试夹短接,慢慢摇动手柄,表针应指向“0”处。 (3)测量电动机三相绕组之间的电阻。将两测试夹分别接到任意两相绕组的任一端头上,平放摇表,以每分钟120转的匀速摇动兆欧表一分钟后,读取表针稳定的指示值。 (4)用同样方法,依次测量每相绕相与机壳的绝缘电阻值。但应注意,表上标有“e”或“接地”的接线柱,应接到机壳上无绝缘的地方。 |