WIN SECS .NET 2.7

   public WinSECS secs {set;get;}
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            secs = new WinSECS();
           //属性
            secs.DefaultDeviceID = 1;
            //确定在收到S9F1消息后是否会自动调整默认的设备ID
            secs.AutoDevice = true;
            //指定该工具用于转换SECS格式20 ASCII项的编码方案。
            secs.CodePage = 936;
            //确定该通信端口当前是否已连接。
            bool cc =  secs.Connected;
            //设置或返回用于主消息的默认SECS设备ID
            secs.DefaultDeviceID = 1;
            //指定用于SECS格式22项的编码代码。
            uint a = secs.EncodingCode;
            //设置或返回一个布尔值,指示WinSECS类是否生成OnMinitor回调。
            secs.MonitorEnabled = true;
            //设置或返回一个布尔值,指示WinSECS类是否允许作为发送方的多个打开事务。
            secs.MultipleOpen = true;
            //返回一个指示该端口是否已打开的布尔值。
            bool opb = secs.PortIsOpen;
            //设置或返回一个标识端口连接类型的值。
            secs.PortType = SECS_PORT_TYPE.HSMS;
            
            /*方法*/

            //关闭端口
            secs.ClosePort();
            //打开商品
            //secs.OpenPort();

            /*设置或返回HSMS通信的连接模式。*/
            secs.Hsms.ConnectionMode = HSMS_CONNECTION_MODE.ACTIVE;
            //设置或返回HSMS连接的链接测试计时器值。
            secs.Hsms.LinkTestTimer = 50;
            secs.Hsms.LocalIPAddress = "127.0.0.1";
            secs.Hsms.LocalIPPort = 5000;
            //设置或返回HSMS连接的远程节点的IP地址。
            secs.Hsms.RemoteIPAddress = "127.0.0.1";
            secs.Hsms.RemoteIPPort = 5000;
            //设置或返回HSMS连接的T3计时器值。T3值指定等待回复的时间量
            secs.Hsms.T3 = 90;
            //T5值指定在连续尝试连接到给定的远程实体之间必须经过的时间量。
            secs.Hsms.T5 = 20;
            //T6值指定控制事务在被视为通信失败之前可以保持打开的时间
            secs.Hsms.T6 = 10;
            //T7值指定了TCP/IP连接在被视为通信故障之前可以保持在NOT选择状态(即没有HSMS活动)的时间
            secs.Hsms.T7 = 20;
            //T8值指定单个HSMS消息连续字节之间的最大时间,在被认为是通信失败之前可能经过。
            secs.Hsms.T8 = 15;

            /*实例化SECSKiblary对象*/
            SECSLibrary library = new SECSLibrary("Tool","Exper message");
            secs.SetLibrary(library);
            //设置或返回SECSKibbury对象的描述
            library.Description = "";
            //SECSKibbray实例的名称。
            library.Name = "PE5";
            //向SECSStrary添加一个新的SECS事务对象
            //library.Add(trans);
             //在SECS库中查找由消息键指定的事务。
            library.Find("F1F1");
            //load方法用于从符合WinSECS的XML模式的XML文件中加载事务主体
            library.Load(@"C:\LOAD.XML");
            library.Remove("S1F1");
            library.Save(@"C:\CUSTOM.XML");
            //此方法创建一个XML字符串,表示符合WinSECS XML模式的整个事务(包括主消息和辅助消息)
           // library.Trans2XML(SECSTransaction);

            //library.XML2Trans(string);
            /*事务 Transaxtion*/
            //实例化SECS事务处理对象。
            SECSTransaction tran = new SECSTransaction(2,1);
            //设置或返回一个布尔值,它指示在发送主消息时是否自动生成唯一的系统字节
            tran.AutoSystemBytes = true;
            tran.Description = "";
            //返回一个布尔值,它指示SECS事务对象是否正在进行中。
            bool inp = tran.InProgress;
            //设置或返回事务处理的名称。
            string name = tran.Name;
            //返回表示事务中的主消息的SECSMessage对象。
            uint mesg = tran.Primary.Function = 3;
            //设置或返回一个布尔值,指示是否需要对主消息的回复。
            tran.ReplyExpected = false;
            //返回表示事务中辅助消息的SECSStract对象
            tran.Secondary.Stream = 1;
            //设置或返回系统字节。
            tran.SystemBytes = 1;
            //设置或返回可用于标识SECS事务处理对象的值。
            tran.Tag = "";
            //在事务中发送辅助消息。
            tran.Reply();
            //发送
            tran.Send(secs);

            /*message*/
            //SECSMessage mess =tran.Primary.Function;
            //返回该消息的根项。
            tran.Primary.Root.AddNew("L");
            //设置或返回SECS流号。
            tran.Secondary.Stream = 13;

            //SECSItem 构造SECSItem的实例,并设置其名称和描述属性。
            SECSItem item = new SECSItem("ALID","ID");
            //设置主消息或辅助SECS消息的根项
            tran.Primary.SetRoot(item);
            item.Description = "";
            //设置或返回该项的SECS格式代码。
            item.Format = SECS_FORMAT.LIST;
            //返回表示列表的SECSItem对象中的项数。
            int ic = item.ItemCount;
            uint il = item.Length;
            item.Name = "Item";
            //设置或返回一个项的长度字节数。
            uint nlb = item.NLB;
            //返回包含SECS对象的SECS项对象。
           //item.Parent;
            item.Value = "a";
            //将新项添加到列表项中。
            item.AddNew("f1");
            item.Delete();
            //复制一个项目,在被复制的项目之后插入副本。
            SECSItem item2 = item.Duplicate();
            //测试一个SECSItem是否是另一个SECSItem的子项。
            item.IsChild(item2);
            //返回其中包含的指定SECSItem对象
            //item.Item(nth);
            //返回SECSitem数据作为二进制内存标识
            item.Raw();
            //删除项目。
            item.Remove(item2);

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.NET SECS/GEM协议是一种用于工业自动化设备之间进行通信的标准协议。SECS是用于半导体制造设备的标准协议,而GEM则是用于通信和控制。.NET SECS/GEM协议结合了.NET技术和SECS/GEM协议,为工业自动化设备提供了更强大的通信和控制功能。 .NET是一种由微软开发的软件开发平台,它提供了一系列的开发工具和库,用于构建各种类型的应用程序。.NET平台支持多种编程语言,如C#,Visual Basic和F#等。通过使用.NET技术,开发人员可以更快速、更高效地构建和部署应用程序。 在工业自动化领域,设备之间需要进行数据交换和控制,以实现生产线的自动化。SECS/GEM协议是一种行业标准的协议,用于定义设备之间的通信和控制方式。它提供了一套指令和报文格式,用于设备之间的数据交换和控制命令的传递。 .NET SECS/GEM协议结合了.NET技术和SECS/GEM协议,为工业自动化设备提供了更强大的通信和控制功能。通过使用.NET SECS/GEM协议,设备和系统可以更方便地进行数据交换和控制,实现实时的监控和远程控制。 使用.NET SECS/GEM协议可以简化开发过程,提高开发效率,并且可以方便地集成到现有的.NET应用程序中。它还可以实现设备之间的互操作性,使不同品牌和型号的设备能够进行通信和协同工作。 总之,.NET SECS/GEM协议是一种结合了.NET技术和SECS/GEM标准协议的通信和控制方案,为工业自动化设备提供了更强大的功能和性能。它可以简化开发过程,提高开发效率,并且实现设备之间的互操作性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值