联系我们

联系人:黄勇(先生)

联系手机:13701633515

固定电话:31660605

企业邮箱:77956468@qq.com

联系我时,请说是在地方电气网上看到的,谢谢!

今日最新资讯
热门资讯
地方电气网资讯
    西门子0.25KW变频器6SL3211-0KB12-5UB1
    发布者:黄工  发布时间:2016-04-08 09:53:22  访问次数:32

    西门子0.25KW变频器6SL3211-0KB12-5UB1,西门子0.25KW变频器6SL3211-0KB12-5UB1

                                       {西门子与客户携手,让关键所在,逐一实现}

    德国制造: 现货      联   系   人: 黄勇《黄工》   24小时联系手机:  13701633515
    全新原装: 参数
    质量保证: 保修          直线销售 电 话: 021-31660605    在 线 商 务 QQ:  77956468 
    价格优势: 特价
    我公司大量现货供应,价格优势,品质保证,德国原装进口
         凡在公司采购西门子产品,均可质保一年,假一罚十
    花30秒询价,你会知道什么叫优势;花60秒咨询,你会知道什么叫服务
       合作一次,你会知道什么叫质量!以质量求生存,以信誉求发展。
          我公司将提供一流的质量,服务作为自已最重要的责任。

    承诺一:1、绝对保证全新原装进口
    承诺二:2、绝对保证安全准时发货
    承诺三:3、绝对保证售后服务质量
    流程一:1、客户确认所需采购产品型号
    流程二:2、我方会根据询价单型号查询价格以及交货期,拟一份详细正规报价单
    流程三:3,客户收到报价单并确认型号无误后订购产品
    流程四:4、报价单负责人根据客户提供型号以及数量拟份销售合同
    流程五:5、客户收到合同查阅同意后盖章回传并按照合同销售额汇款到公司开户行
    流程六:6、我公司财务查到款后,业务员安排发货并通知客户跟踪运单 


    • 节省空间的基本类型
    • 扩展模块连接接口,最多可编址 24 点数字量输入、20 (16) 点数字量输出、8 点模拟量输入和 8 (2) 点模拟量输出
    • 可选择连接 LOGO!TD 文本显示(可连接到所有 LOGO!0BA6 和 0BA7 基本型);LOGO!TDE 可与 LOGO! 连接8 或更高

    LOGO! 的新改进8

    • 所有基本单元都配有集成 Web 服务器
    • 外壳宽度与 LOGO! 相同 0BA6 (4 MW)
    • 所有基本单元都带有以太网接口,用于与 LOGO!、SIMATIC 控制器、SIMATIC 面板和 PC 通信
    • 采用标准微型 CF 卡

    LOGO!0BA7 型号:

    • 以太网接口,用于与 SIMATIC 控制器、SIMATIC 面板以及 PC 进行通讯
    • 可组网多达 8 个 LOGO! 设备
    • 标准 CF 卡或 SIMATIC 存储卡的使用
    LOGO! 0BA6:
    • 继电器输出,最高输出电流 10A(不适于 LOGO!24).
    • 集成了可参数设计背光的显示区(4x12字符)。
    • 集成了操作员控制面板。
    • 内置EEPROM存储器,用于控制程序和设定值
    • 用于防复制和专有技术保护的可选程序模块。
    • 可选电池模块和组合电池/程序模块,2 年后备集成实时时钟。
    • 内置夏令时/冬令时自动调节的实时时钟。
    • 8个数字量输入,4个数字量输出。
    • 对于DC12/24V型号,4个输入作为模拟量输入(0-10V);也可作为数字量输入。
    • 4个输入可用来高速计数,最高5KHz(只针对于直流型)。
    • 扩展模块连接接口,最多可编址 24 点数字量输入、16 点数字量输出、8 点模拟量输入和 2 点模拟量输出。
    • 用于连接到 LOGO!TD 文字显示屏。
    • 每个用户程序最多 200 个函数块
    LOGO!0BA7:
    • 以太网接口(取代以前系列的串行编程接口)
    • 继电器输出,输出电流最大为 10A
    • 集成了可参数设计背光的显示区(4x12字符)。
    • 集成了操作员控制面板。
    • 内置EEPROM存储器,用于控制程序和设定值
    • 标准 SD 卡或 SIMATIC 存储卡可选
    • 内置夏令时/冬令时自动调节的实时时钟。
    • 备份集成的实时时钟 20 天。
    • 8个数字量输入,4个数字量输出。
    • 对于DC12/24V型号,4个输入作为模拟量输入(0-10V);也可作为数字量输入。
    • 4个输入可用来高速计数,最高5KHz(只针对于直流型)。
    • 扩展模块连接接口,最多可编址 24 点数字量输入、16 点数字量输出、8 点模拟量输入和 2 点模拟量输出。
    • 用于连接到 LOGO!TD 文字显示屏。
    LOGO!8:
    • 以太网端口
    • 继电器输出,输出电流最大为 10A
    • 背光可参数化集成显示区(6 x 16 个字符,3 种背光颜色)。
    • 集成了操作员控制面板。
    • 内置EEPROM存储器,用于控制程序和设定值
    • 可选的标准微型 CF 卡
    • 内置夏令时/冬令时自动调节的实时时钟。
    • 备份集成的实时时钟 20 天。
    • 8个数字量输入,4个数字量输出。
    • 对于DC12/24V型号,4个输入作为模拟量输入(0-10V);也可作为数字量输入。
    • 4个输入可用来高速计数,最高5KHz(只针对于直流型)。
    • 扩展模块连接接口,最多可编址 24 点数字量输入、20 点数字量输出、8 点模拟量输入和 8 点模拟量输出。
    • 连接 LOGO!TDE 通过以太网。
    • 集成有基本和特殊功能:
      • 基本逻辑功能:
        与,或,非,与非,或非,异或,上升沿/下降沿触发。
      • 特殊功能:
        接通延时,锁存接通延时,断开延时,脉冲延时,锁定延时,计数器(加计数/减计数),时间开关,间隔延时继电器,运行小时数计数器,触发器,异步脉冲发生器,年时间开关,舒适照明开关功能,随机发生器,楼梯照明开关功能(符合 DIN 18015-2),边沿触发间隔延时继电器,组合接通/断开延时,模拟值比较器,模拟触发器,模拟值变化触发器,模拟看门狗,模拟放大器,文本和变量显示,移位寄存器,软键功能,PI 控制器,斜坡功能,模拟复用器,PWM 功能,模拟算术运算功能,模拟算术运算功能错误检测功能。
    • 可链接 200/400 个函数块。
    • 27/64 个位存储器
      (包括重启位存储器,用于控制集成显示屏和 LOGO! 的背光显示位存储器TD,用于在消息文本中的 2 个可参数化字符之间切换的位存储器)。
    • 内置保持。
    • 口令保护。
    作为选项可提供的功能
    • 作为选项可提供专有保护技术程序模块或 CF/微型 CF 卡。
    • LOGO! 0BA6 集成实时时钟的后备, 可选用使用寿命 2 年的电池模块和组合电池/程序模块
    • LOGO! 集成实时时钟的后备 0BA7 和 LOGO!8 个,20 天。
    • 可选用的 LOGO!TD 文本显示屏与所有 ..0BA6 Pure 型的连接
    用于 LOGO! 的其它功能0BA7
    • 数据记录至内部存储器或 CF 卡(最多 2000 个记录)
    • 用于 LOGO! 的宏(用户自定义功能)Soft Comfort V7
    • 可以连接 400 个功能块
    • 16 个模拟位存储器
    • 64 个接线端子
    • 4 个 8 位移位寄存器
    • 新增特殊功能:
      天文时钟,模拟滤波器,平均值计算,最小/最大值,定时器
    • 诊断功能
    用于 LOGO! 的其它功能8
    • 数据记录至内部存储器或微型 CF 卡(最多 20000 个记录)
    • 用于 LOGO! 的宏(用户自定义功能)极为简单
    • 可以连接 400 个功能块
    • 64 个模拟位存储器
    • 64 个接线端子
    • 4 个 8 位移位寄存器
    • 扩展诊断功能


    OMC/ELS
    6GK1 100-2AB00 工业以太网OMC TP11 (多模光纤)
    6GK1 100-2AC00 工业以太网OMC TP11-LD (单模光纤)
    6GK1 102-6AA00 工业以太网ELS  TP40   (二个RJ45口)
    6GK1 102-6AB00 工业以太网ELS  TP40M  (二个RJ45口)
    6GK1 102-7AA00 工业以太网ELS  TP80  (八个RJ45口)
    SCALANCE X005入门级交换机
    6GK5 005-0BA00-1AA3 X005(五个RJ45口)
    6GK5 005-0BA00-1CA3 X005(五个RJ45口),工作温度-40至70摄氏度
    SCALANCE X100非网管型交换机
    6GK5 104-2BB00-2AA3 X104-2(四个RJ45口,两个BFOC)
    6GK5 106-1BB00-2AA3 X106-1(六个RJ45口,一个BFOC)
    6GK5 108-0BA00-2AA3 X108(八个RJ45口)(星型连接)
    6GK5 112-2BB00-2AA3 X112-2(12个RJ45口,2个BFOC)
    6GK5 116-0BA00-2AA3 X116(16个RJ45口)(星型连接)
    6GK5 124-0BA00-2AA3 X124(24个RJ45口)(星型连接)
    SCALANCE X200网管型交换机
    6GK5 204-2BB00-2AA3 X204-2(四个RJ45口,两个BFOC,PROFINET)
    6GK5 206-1BB10-2AA3 X206-1(六个RJ45口,一个BFOC,PROFINET)
    6GK5 208-0BA10-2AA3 X208(八个RJ45口,PROFINET)
    6GK5 208-0HA00-2AA6 X208PRO (八个RJ45口,防护等级:IP65)
    6GK5 216-0BA00-2AA3 X216(16个RJ45口,PROFINET)
    6GK5 224-0BA00-2AA3 X224(24个RJ45口,PROFINET)
    6GK5 204-0BA00-2BA3 X204IRT (四个RJ45口)
    6GK5 202-2BB00-2BA3 X202-2IRT (二个RJ45口,两个BFOC)
    SCALANCE X300增强型可网管交换机
    6GK5 308-2FL00-2AA3 X308-2 (1个10/100/1000M RJ45口,7个10/100M RJ45口,两个1000M SC 接口)
    6GK5 310-0FA00-2AA3 X308-2 (3个10/100/1000M RJ45口,7个10/100M RJ45口)
    SCALANCE X400千兆模块化交换机
    6GK5 414-3FC00-2AA2 X414-3E 交换机底板,2个1000M RJ45口,12个100M RJ45口,可搭配介质模块和扩展模块
    6GK5 408-2FD00-2AA2 X408-2 交换机底板,4个1000M RJ45口,4个100M RJ45口,可搭配介质模块
    6GK5 491-2AB00-8AA2 介质模块,两个百兆多模光纤端口-BFOC接口
    6GK5 491-2AC00-8AA2 介质模块,两个百兆单模光纤端口-BFOC接口
    6GK5 492-2AL00-8AA2 介质模块,两个千兆多模光纤端口-SC接口
    6GK5 492-2AM00-8AA2 介质模块,两个千兆单模光纤端口-SC接口
    6GK5 495-8BA00-8AA2 扩展模块,八个百兆RJ45接口
    6GK5 496-4MA00-8AA2 带有4个可插入介质模块槽位的扩展模块
    软件
    6GK1 716-1CB64-3AA0 S7-CP1613/Windows NT 4.0,2000网卡驱动程序
    6GK1 716-1TB64-3AA0 TF-CP1613/Windows NT 4.0,2000网卡驱动程序
    6GK1 716-1PB62-3AA0 PG-CP1613/Windows NT 4.0,2000网卡驱动程序
    6GK1 716-0HB64-3AA0 S7-REDCONNECT/Windows NT 4.0,2000网卡冗余软件
    6GK1 704-1CW64-3AA0 S7-SOFTNET/Windows 2006 网卡驱动程序
    6GK1 704-1PW64-3AA0 PG-SOFTNET/Windows 2006 网卡驱动程序
    6GK1 970-1BA10-0AA1 西门子工业以态网手册
    6GK1 970-5CA20-0AA1 西门子PROFIBUS网络手册
    6GK1 975-1AA00-3AA0 西门子网络电器手册(通讯,产品等)
    6GK1 500-0AA10 PROFIBUS总线端子 9.6-12000 K BIT/S,带1.5M连接电缆
    6GK1 500-0AB00 PROFIBUS总线端子 9.6-1500 K BIT/S,带3.0M连接电缆
    6GK1 500-0DA00 PROFIBUS总线端子 有PG接口,带1.5M连接电缆


    西门子触摸屏Smart Line


    在过去的几年中,S7-200 PLC取得了飞速发展,大多数厂商选择把S7-200 PLC做为控制系统的标准配置。S7-200 PLC 丰富的功能和灵活的通讯组网能力成为小型自动化解决方案的首选,与之配套应用的人机界面的地位就显得尤为突出。为了满足客户对于低成本高品质的需求,西门子于今年12月份推出了全新精彩系列操作屏。该系列操作屏有7寸和10寸两种型号,全部采用高分辨率宽屏彩色显示和LED背光技术。相信精彩系列操作屏将进一步巩固西门子小型自动化解决方案在市场中的地位。

    西门子多年的人机界面研发和生产平台、经验丰富的研发团队、严格的欧洲标准以及完善的质量保障体系为精彩系列操作屏可信赖的质量奠定了坚实的基础。

    做为新一代的人机界面产品,精彩系列操作屏采用了全新的技术和系统设计,个性鲜明,特点突出:

    高分辨率宽屏显示

    800×480 dpi 宽屏显示设计和传统屏幕相比具有更大的可视面积,使单个画面中可以显示更多的信 息,让操作员具有更舒适的视觉体验,高分辨率使得画面更清晰,画质更细腻。

    LED 背光,节能降耗

    LED 较之 CCFL,背光板厚度降低一半左右,使精彩系列面板更轻巧。同时,操作屏亮度更高,色彩更均匀,表现力更强,可视范围提高到 140°。可以降低设备能耗,结合屏保功能最大程度地延长操作屏的使用寿命。

    强大且丰富的通讯能力

    PPI 通讯协议确保精彩系列面板与 S7-200 建立高速无缝的连接,和 S7-200 PLC 组成完美的小型自动化解决方案。集成的 RS 422/485 通讯口使精彩系列面板的通讯更加灵活,可以和市场主流的小型 PLC 建立稳定可靠的通讯连接。(三菱 FX 系列;欧姆龙 CP1 系列)

    高性能处理器、高速外部总线及 64M DDR 内存

    高端的 ARM 处理器,主频达到 400MHz,使数据处理更快,画面显示更流畅。高速的外部总线充分发挥处理器的强大性能,增强的 64M DDR 内存使得画面的切换速度更快。

    先进的工业设计理念

    独特的边框倒角设计,让操作屏的外观更具流线型,给人以舒适感。使用符合 UL 标准的 PC + ABS 合金材料,耐高温、抗腐蚀,特别适用于工业现场的应用环境。

    可靠的电源设计

    内置的 24V 电子自恢复反接保护,避免因误接线而导致的产品损坏。供电电源范围可达 ±20%。

    先进的生产失效故障模式分析

    潜在的缺陷及故障分析模型贯穿产品从研发到生产的每个环节,最大程度确保产品可靠性。成熟的生产流程及完善的质量控制体系确保产品质量。

    德国品质,轻松拥有

    精彩系列面板的 ESD、RS 等关键指标比国际标准(IEC)提高 50%,通过 CE 认证。

    西门子为精彩系列操作屏建立了从研发、生产到物流以及售后等完整的保障体系,随着精彩系列操作屏在市场上的知名度越来越高,它将成为西门子在中小OEM客户中人机界面产品的首选。




    PLC安装顺序及注意事项

    本文介绍了PLC安装顺序及注意事项和解决办法。
    1    安装顺序及注意事项
     
    1.1    安装顺序
    MicroWIN→Step7→Net→Wincc→WinCC flexible→Simatic_EKB_Install
     
    1.2    安装注意事项
     添加消息队列
    打开控制面板,找到添加/删除程序,添加/删除windows组件,选最后一个“消息队列”,勾上安装。安装时可能需要winxp光盘(要原版,非Ghost版),选择光盘里的i386目录。
     
     Net问题

    如果先装Net后装Step7的话, Net中Ncm选项千万不能选,否则装不上去的.

    Step7和SimaticNet中都包含NCM,先安装SimaticNet后,NCM可以组态PC站,并不能打开或组态Step7项目中的AS站;再安装Step7时,安装程序检测到NCM已经存在,所以会中止安装Step7。而先安装Step7后,再安装SimaticNet时,安装程序检测到NCM已经存在,所以只是不会安装SimaticNet中的NCM,但会安装其它组件。我一般先安装Step7,再安装SimaticNet,最后安装WinCC。注意三者之间的兼容性。
     
     反复重新启动

    很多人受西门子软件安装需重新启动机器,然而启动机器后又提示重新启动机器,然而反复重新启动仍然出现这样的提示,导致软件不能安装。现在给出解决方案:
    在注册表内“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\”中删除注册表值“PendingFileRenameOperations”

      解决反复重启无法安装西门子软件(VBS解决方案)
    ‘delete PendingFile
    Set WshShell = Wscript.CreateObject("Wscript.Shell")
    WshShell.RegDelete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations"  
    Set WshShell = Nothing
    将上面的脚本保存到文本文件里,文本文件扩展名由TXT改名为VBS即可
    例如:Delete PendingFile(解决重启问题).vbs
    不要重新启动,继续安装软件。 
    现在可以安装更多程序而无需重启计算机了。
     最简单的安装方法就是,安装Vista系统,然后安装完所有的西门子软件,最后将系统升级为Win7系统。
     比较折中的方式就是使用Win7的XP Mode模式或者直接安装诸如WMware,VisualBox这种虚拟系统,并安装XP。
     
    2     安装&卸载
    2.1   在Windows 7安装STEP 7 MicroWIN
    SP4能安装,安装完毕后发现‘设置PG/PC接口’没有PLC PC/PPI cable(PPI)这一项,那就等于不能连接PLC。
    SP7也能安装,安装到了90%的时候出现以下情况,找不到S7EpaSRVx.exe文件
     
    找了一台VISTA系统的电脑把S7EpaSRVx.exe复制到本PC的Windows\System32目录下。再重新安装又出现以下情况
     在网上找到了解决的路径,到 http://download.microsoft.com/download/D/3/3/D33A8F5D-A7E1-4BBE-B04D-7A688785A229/Application%20Compatibility%20Toolkit.msi 下载了一个Microsoft发布名叫Application Compatibility Toolkit的小工具。先安装好Application Compatibility Toolkit,再安装STEP 7 MicroWIN SP6 就OK了!

     
    2.2    Windows7下安装Step7 V5.4SP5
     正常情况下,在Windows7下安装Step7 V5.4 SP5时,会无法安装,出现如下图的提示:


     
    解决办法:
    使用灰色按钮加强版软件使能”忽略”按钮,
    使用工具?注意要右键以管理员身份运行之)
     
     灰色按钮加强版软件界面:
     
    按以上设置后,”忽略”按钮即可,”点亮”然后就可以继续安装了.
     
    安装过程中,会出现下面的警告:
     

     
    选”始终安装此驱动软件”,即可.
    软件安装成功后,控制面板里可能会找不到,”PC/PG”接口设置,如图:
     
    只须更改一下”查看方式”就可以找到了
     

     
     最新版的西门子s7-300/400编程软件Step7 V5.5英文版,英文版,支持XP和WIN7系统,

    运用VC#编程通过OPC方式实现PC机与西门子PLC通讯

    1、 配置OPC服务器
    对于服务器的配置与同步通讯的配置一样,这里不需再讲解,若有不清楚的,可以参阅之前发布的<运用VC#编程通过OPC方式实现PC机与西门子PLC通讯>
    2、 OPC编程
    变量组、项的命名规则与同步通讯的一样,这里不再描叙,下面主要就开发一个异步通讯类 AsynServer来讲解如何编程。
    <1>、引用
    在VC#开发环境中添加对OpcRcw.Da库以及OpcRcw.Comn库的引用,该库属于.NET库,不属于COM库,西门子虽然编写了类库,以提供对.NET平台的支持,但这些类库仍然难于编程,里面包含了大量的在托管和非托管区传输数据,因此我们需要在它的基础上再开发一个类库,以简化以后的编程,首先在类的开头使用命名空间:
    using OpcRcw.Comn;
    using OpcRcw.Da;
    using System.Runtime.InteropServices;
    using System.Collections;
    <2>、编程
    异步编程的原理就是在OPC服务器那边检测当前活动的变量组,一但检测到某一个变量,譬如变量Q0.0从1变成0,就会执行一个回调函数,以实现针对变量发生变化时需要实现的动作,在这里可以采用委托来实现该功能。
    1、 在命名空间的内部、类 AsynServer声明之前添加委托的申明:
    // 定义用于返回发生变化的项的值和其对应的客户句柄
    public delegate void DataChange(object[] values,int[] itemsID);
    2、 该类继承于西门子提供的库接口IOPCDataCallback
    public class AsynServer:IOPCDataCallback
    在类的开头部分声明变量:
    struct groupStru
    {
    public int groupID;
    public object groupObj;
    }
    internal const int LOCALE_ID = 0x407; //本地语言
    private Guid iidRequiredInterface;
    private string serverType="";
    private int hClientGroup = 0; //客户组号
    private int nSvrGroupID; // server group handle for the added group 
    private Hashtable hashGroup; //用于把组收集到一起
    private int hClientItem=0; //Item号
    3、编写构造函数,接收委托参数已确定当数据发生变化时需要执行的方法入口点:
    //创建服务器
    //svrType 服务器类型的枚举
    //dataChange 提供用于在数据发生变化时需要执行的函数入口
    public AsynServer(ServerType svrType,DataChange dataChange)
    {
    switch(svrType)
    {
    case ServerType.OPC_SimaticHMI_PTPR
    serverType="OPC.SimaticHMI.PTPro";break;
    case ServerType.OPC_SimaticNET:
    serverType="OPC.SimaticNET";break;
    case ServerType.OPC_SimaticNET_DP:
    serverType="OPC.SimaticNET.DP";break;
    case ServerType.OPC_SimaticNET_PD:
    serverType="OPC.SimaticNET.PD";break;
    case ServerType.OPCServer_WinCC:
    serverType="OPCServer.WinCC";break;
    }
    hashGroup=new Hashtable(11);
    dtChange=dataChange;
    }

    4、创建服务器
    // 创建一个OPC Server接口
    //error 返回错误信息
    //若为true,创建成功,否则创建失败
    public bool Open(out string error)
    {
    error="";bool success=true;
    Type svrComponenttyp ;
    //获取 OPC Server COM 接口
    iidRequiredInterface = typeof(IOPCItemMgt).GUID;
    svrComponenttyp = System.Type.GetTypeFromProgID(serverType);
    try
    {
    //创建接口
    pIOPCServer =(IOPCServer)System.Activator.CreateInstance(svrComponenttyp);
    error="";
    }
    catch (System.Exception err) //捕捉失败信息
    {
    error="错误信息:"+err.Message;success=false;
    }
    return success;
    }
    5、 编写添加Group的函数
    ///


    /// 添加组
    /// 
    /// 组名
    /// /创建时,组是否被激活
    /// //组的刷新频率,以ms为单位
    /// 返回错误信息
    /// 若为true,添加成功,否则添加失败
    public bool AddGroup(string groupName,int bActive,int updateRate,out string error)

    error="";bool success=true;
    int dwLCID = 0x407; //本地语言为英语 
    int pRevUpdateRate;
    float deadband = 0;
    // 处理非托管COM内存
    GCHandle hDeadband;
    IntPtr pTimeBias = IntPtr.Zero;
    hDeadband = GCHandle.Alloc(deadband,GCHandleType.Pinned);
    try
    {
    pIOPCServer.AddGroup(groupName, //组名
    bActive, //创建时,组是否被激活
    updateRate, //组的刷新频率,以ms为单位
    hClientGroup, //客户号
    pTimeBias, //这里不使用
    (IntPtr)hDeadband,
    dwLCID, //本地语言
    out nSvrGroupID, //移去组时,用到的组ID号
    out pRevUpdateRate, //返回组中的变量改变时的最短通知时间间隔
    ref iidRequiredInterface,
    out pobjGroup1); //指向要求的接口
    hClientGroup=hClientGroup+1; 
    groupStru grp=new groupStru();
    grp.groupID=nSvrGroupID;grp.groupObj=pobjGroup1;
    this.hashGroup.Add(groupName,grp);//储存组信息
    // 对异步操作设置回调,初始化接口
    pIConnectionPointContainer = (IConnectionPointContainer)pobjGroup1;
    Guid iid = typeof(IOPCDataCallback).GUID;
    pIConnectionPointContainer.FindConnectionPoint(ref iid,out pIConnectionPoint);
    pIConnectionPoint.Advise(this,out dwCookie);
    }
    catch (System.Exception err) //捕捉失败信息
    {
    error="错误信息:"+err.Message;success=false;
    }
    finally
    {
    if (hDeadband.IsAllocated) hDeadband.Free();
    }
    return success;
    }

    6、 编写激活、或者取消激活组的函数

    在同步编程中对于组的激活或者取消激活没有实质的意义,但在异步通讯编程中却异常重要,这是因为OPC服务器只对当前处于活动状态的组中的变量进行监控,同时这也是很有必要的,因为我们可以把不同界面中的变量编程不同的组,即同一界面中的变量规成一个组,而在某一时刻提供给用户的只有一个界面,让该界面中用到的组处于活动状态,这样执行委托调用时只会执行于该界面中有关的变量检测,而如果让所有的组处于活动状态,则当前没有显示给用户的界面用到的变量若发生变化也会触发对委托函数的调用,这根本是没有必要的,同时会大大降低程序的性能,请严格控制组的激活。
    ///
    /// 激活或者取消激活组
    /// 
    /// 指定组名
    /// true为激活,false为取消激活
    /// 若有错误,返回错误信息
    /// 若为true,添加成功,否则添加失败
    public bool AciveGroup(string groupName,bool toActive,out string error)
    {
    error="";bool success=true;
    //通过名称获取组
    object grp=((groupStru)hashGroup[groupName]).groupObj;
    IOPCGroupStateMgt groupStateMgt=(IOPCGroupStateMgt)grp;
    //初始化传递参数
    IntPtr pRequestedUpdateRate = IntPtr.Zero; //由客户指定的Item更新间隔时间
    int nRevUpdateRate = 0; //由服务器返回的能够更新的最短时间间隔
    IntPtr hClientGroup = IntPtr.Zero; //客户组
    IntPtr pTimeBias = IntPtr.Zero;
    IntPtr pDeadband = IntPtr.Zero;
    IntPtr pLCID = IntPtr.Zero; 

    // 激活或者取消激活组
    int nActive = 0; 
    GCHandle hActive = GCHandle.Alloc(nActive,GCHandleType.Pinned);
    if(toActive)
    hActive.Target = 1;
    else
    hActive.Target = 0;
    try 
    {
    groupStateMgt.SetState(pRequestedUpdateRate,out nRevUpdateRate,hActive.AddrOfPinnedObject(),pTimeBias,pDeadband,pLCID,hClientGroup); 
    }
    catch(System.Exception err)
    {
    error="错误信息:"+err.Message;success=false;
    }
    finally
    {
    hActive.Free(); 
    }
    return success;
    }

    7、 向指定的组中添加变量的函数
    ///
    /// 向指定的组添加一系列项
    /// 
    /// 指定组名
    /// 完整的item名数组
    /// 由服务器返回读写数据时需要使用的item号
    /// 无错误,返回true,否则返回false
    public bool AddItems(string groupName,string[] itemsName,int[] itemsID)
    {
    bool success=true;
    OPCITEMDEF[] ItemDefArray=new OPCITEMDEF[itemsName.Length];
    for(int i=0;i {
    hClientItem=hClientItem+1; //客户项自动加1
    ItemDefArray[i].szAccessPath = ""; // 可选的通道路径,对于Simatiic Net不需要。
    ItemDefArray[i].szItemID = itemsName[i]; // ItemID, see above
    ItemDefArray[i].bActive = 1; // item is active
    ItemDefArray[i].hClient = hClientItem; // client handle ,在OnDataChange中会用到
    ItemDefArray[i].dwBlobSize = 0; // blob size
    ItemDefArray[i].pBlob = IntPtr.Zero; // pointer to blob 
    ItemDefArray[i].vtRequestedDataType = 4; //DWord数据类型
    }
    //初始化输出参数
    IntPtr pResults = IntPtr.Zero;
    IntPtr pErrors = IntPtr.Zero;
    try 
    {
    // 添加项到组
    object grp=((groupStru)hashGroup[groupName]).groupObj;
    ((IOPCItemMgt)grp).AddItems(itemsName.Length,ItemDefArray,out pResults,out pErrors);

    int[] errors = new int[itemsName.Length]; 
    IntPtr pos = pResults;
    Marshal.Copy(pErrors, errors, 0,itemsName.Length);
    for(int i=0;i {
    if (errors[i] == 0)
    {
    OPCITEMRESULT result = (OPCITEMRESULT)Marshal.PtrToStructure(pos, typeof(OPCITEMRESULT));
    itemsID[i] = result.hServer; 
    pos = new IntPtr(pos.ToInt32() + Marshal.SizeOf(typeof(OPCITEMRESULT)));
    }
    else
    {
    String pstrError;
    pIOPCServer.GetErrorString(errors[0],0x407,out pstrError); 
    success=false;
    break;
    }
    }
    SetItenClient(groupName,itemsID,itemsID); //要求始终只有一个组被激活,才不会引起冲突。
    }
    catch (System.Exception err) // catch for error in adding items.
    {
    success=false;
    //error="错误信息:"+error+err.Message;
    }
    finally
    {
    // 释放非托管内存
    if(pResults != IntPtr.Zero)
    {
    Marshal.FreeCoTaskMem(pResults);
    pResults = IntPtr.Zero;
    }
    if(pErrors != IntPtr.Zero)
    {
    Marshal.FreeCoTaskMem(pErrors);
    pErrors = IntPtr.Zero; 
    }
    }
    return success;
    }

来源:上海赞国
免责声明:地方电气网转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味 着赞同其观点或证实其内容的真实性。如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。联系电话:0571-87774297。
0571-87774297