浔之漫智控技术(上海)有限公司
西门子PLC模块 , CPU模块 , DP通讯电缆 , 6GK交换机
SIEMENS/西门子6ES7221-1BF22-0XA8

1. 开发.NET控件的示例程序
WinCC V7.0支持的自定义.NET控件,需要使用Visual Studio 2005编写。下面以C#编程语言为例,开发一个简单的.NET控件,这个控件仅提供一个方法Add, 实现两数相加的功能。
在VS2005中新建一个工程CalculateControl,工程类型为 Visual C# 中的Windows Control Library,在 Solution Explorer 窗口中,将UserControl1.cs重命名为 Calculate.cs,弹出的对话框询问是否改变所有与UserControl1相关的代码,点击[Yes]确认。在Calculate.cs 文件的Calculate类中添加Add函数,用于计算两数之和,如下所示:

public double Add(double dblA, double dblB)
{
return ( dblA + dblB );
}

在 Calculate.cs 文件的Calculate类之前插入如下代码:

// CalculateControl.Calculate 是该控件的PROGID.
[ProgId("CalculateControl.Calculate")]
// 缺省的是ClassInterfaceType.AutoDispatch,该方式下只生成dispatch接口,
// 只能被使用script、VB等late bingding方式的COM客户使用。
[ClassInterface(ClassInterfaceType.AutoDual)]

然后在 Calculate.cs 文件的上部插入如下代码:

using System.Runtime.InteropServices;

将工具栏中的 Solution Configurations 下拉列表设为 Release,在工程\属性的 Application 页中,点击 [Assembly Information…] 按钮,选中 Make assembly COM-Visible,并点击 [OK] 按钮确认。在 Build 页中,选中 Register for COM interop 后,保存设置,并编译程序,这样编译后同时会生成CalculateControl.tlb文件,并且自动将其注册(命令行命令regasm有同样的效果),注意到CalculateControl.dll生成到 bin\Release 文件夹中。

2.开发.NET控件的安装程序
如果该控件需要在另一台计算机上使用,需要为该控件设计安装程序。新建一个VS2005工程SetupCalculateControl,工程类型为Setup and Deployment \ Setup Project。在Solution Explorer窗口中的工程名(SetupCalculateControl)节点上右键单击,在弹出的快捷菜单中选择Add\Assembly…项,在Browse页中,找到刚才编译的CalculateControl.dll,将其加入到安装程序中,注意到CalculateControl.tlb 也一并被加入进来。选中CalculateControl.dll节点,将其属性中的Register从vsdraDoNotRegister改为vsdraCOM,用于在安装过程中自动注册控件。将工具栏中的 Solution Configurations 下拉列表设为 Release,编译该安装工程,在Release 文件夹中可以找到生成的安装文件(包括setup.exe和SetupCalculatorControl.msi)。

3. 测试.NET控件
使用ActiveX Control Test Container测试该控件的功能,双击tstcon32.exe(位于$\Program Files\Microsoft Visual Studio 8\Common7\Tools),在Edit菜单中选择 [Insert New Control…] ,在弹出的 Insert Control 对话框中,点击 [Implemented Categories…] 按钮,选中 .NET Category 复选框,点击 [OK] 按钮确认。在列表框中选择 CalculateControl.Calculate,如图1所示:


图 1:在ActiveX Control Test Container中插入控件

点击 [OK] 按钮确认,这时该.NET控件被加入到测试容器中。选中该控件,在Control菜单中选择[Invoke Methods…]项,在Method Name中选择Add(Method),分别设定两个加数的值,点击 [Invoke] 按钮,在 Return Value 文本框中可以看到两数相加的结果。

4. 在WinCC V7.0中加载和使用该控件的步骤

1.双击该控件的安装文件Setup.exe,安装并注册CalculateControl.dll控件,用户可以修改安装目录,并按照正常的步骤安装(如果想卸载该控件,可以在控制面板的添加/删除程序中移除该控件)。

2.新建一个WinCC V7.0工程,并新建一个画面。按照如下步骤加载和使用该控件:

在Object Palette(对象面板)的Controls页中的.NET Control上右键单击,选择 [Add/Remove…] 快捷菜单项。

在弹出的对话框中点击[Add…]按钮,在打开的对话框中找到安装路径下的CalculateControl.dll控件(例如:C:\Program Files\Default Company Name\SetupCalculateControl\ CalculateControl.dll),双击该控件或者选中它并按[Open]按钮。


图 2:在Select .NET Object对话框中插入自定义.NET控件

如图2所示,在Available Controls列表中高亮显示Calculate项,选中它前面的Check Box,点击*下面的[OK]按钮,即可将控件加入到WinCC V7.0中。

将.NET Control节点展开,找到” CalculateControl.Calculate”并将其拖拽到窗体上的合适的位置。

在窗体上加入一个静态文本控件,将其对象名称改为 CalculateResult。

在窗体上加入一个按钮,将其文本改为Add,在按钮的鼠标左键单击(Button\Mouse\Press left)事件中加入VBS脚本,创建.NET控件并调用它的Add方法,源程序如下所示:

Dim objCalculateControl
Dim objCalculateResult
Set objCalculateControl = CreateObject("CalculateControl.Calculate")
Set objCalculateResult = ScreenItems("CalculateResult")
objCalculateResult.Text = objCalculateControl.Add ( 6, 12 )

注意,WinCC V6.2使用ScreenItems(”控件对象名”)引用加入窗体的ActiveX控件。但WinCC V7.0不能使用这种方法,建议使用CreateObject(“.NET控件的PROGID”) 来创建和引用加入的.NET控件。

保存并运行该程序,点击[Add]按钮,静态文本中将显示结果18。

注意:本文提供了 WinCC V7.0 支持.NET控件的基本编程方法和测试程序,所有的源程序及测试过程仅供参考。

Q1:下载时提示13:4589、294:38或33:33537错误?

提示1:直接下载 S7-300 站或仅下载硬件配置时提示以下错误信息,如图1、图2所示。

图1直接下载S7-300站提示13:4589错误

图2  仅下载硬件配置提示13:4589错误

通过“帮助”按钮还可以查看出现此错误提示的其他原因,如图3所示。

图3  “帮助”信息

提示2:直接下载部分程序时提示以下错误信息,如图4所示。

图4  提示294:38错误

通过“帮助”按钮还可以查看出现此错误提示的其他原因,如图5所示。

图5  “帮助”信息

提示3:通过操作菜单“plc”--->“将用户程序下载到存储卡”时提示以下错误信息,如图6所示。

图6  提示33:33537错误

通过“帮助”按钮还可以查看出现此错误提示的其他原因,如图7所示。

图7  “帮助”信息

A1:上述三种情形中因 MMC 卡故障触发的错误提示,可通过 CPU 的模块信息查看存储器空间。如图8、图9所示。

图8查看模块信息

图9查看存储器空间

通过查看 CPU 存储器空间,发现装载存储器不存在,也就是说 CPU 没有插 MMC 卡或因卡损坏而无法正常识别。

Q2:下载时提示294:41错误?

下载时提示以下错误信息,如图10所示。

图10提示294:41错误

A2:当出现该错误时,访问 PLC “模块信息”的“存储器”,可以看到有三个棒状图,其中*左边的“装载存储器”即 MMC 卡,中间的为CPU 的“工作存储器”,右边的为 CPU 的“保持的存储器”。

情形一:装载存储器空间不足,如图11所示。

图11装载存储器空间不足

处理方法:使用“压缩”按钮对 MMC 卡进行压缩,如果仍然无法释放出足够的空间,则需更换更大的 MMC 存储卡。

情形二:工作存储器空间不足,如图12所示。

图12工作存储器空间不足

处理方法:精简程序或更换工作存储器更大的 CPU 。

情形三:保持的存储器空间不足,如图13所示。

图13 保持的存储器空间不足

当下载新的 DB 块时,可能出现该错误,说明 CPU 中的保持的存储器空间不足导致,我们可以将不需要掉电保持功能的DB块设置为“非掉电保持”重新下载,以释放部分保持的存储器用于下载新的需要掉电保持的 DB 块;将不需要掉电保持功能的 DB 块设置为“非掉电保持”的方法如图14所示。

图14设置“非掉电保持”

可通过以下方式远程访问 WinCC 站:

VNC (Real VNC)

RDP (远程桌面协议)

VNC
可以使用 RealVNC 软件远程访问其他电脑上的分布式 WinCC 站 (例如 WinCC 服务器)。 "RealVNC" 企业版软件可以与 WinCC 6.0 或更高版本配合使用。
RDP
使用远程桌面协议(RDP)可以实现 WinCC 客户机专有的远程服务。并且,在这类计算机上不能有服务器服务(例如,WebNavigator Server, DataMonitor Server or opc Server)。其原因在于远程桌面会话处理由微软操作系统实现。

注意
本文所描述的功能和解决方法主要是针对如何实现自动化任务。 此外,当连接设备和项目的其他部件到企业网或因特网时,需要注意工业安全并采取相应的保护措施。


发布时间:2023-10-26
展开全文
优质商家推荐 拨打电话