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);

WIN SECS .NET 2.7相关推荐

  1. 安装win下的Anaconda ----针对python3.6.4版本

    我的python版本是3.6.4, Anaconda下载地址: Anaconda官网:https://repo.anaconda.com/archive/ 清华大学镜像站:https://mirror ...

  2. linux挂在win共享文件

    1.先设置共享文件,再网络中查看,有目录则共享成功 2.yum samba-client (linux系统和win系统共享协议的包) 3.yum install cifs-utils 此外还要安装这个 ...

  3. win合适做服务器的系统,win系统做云服务器

    win系统做云服务器 内容精选 换一换 本节介绍如何查看云服务器的mac地址.云服务器的mac地址不支持修改.登录Linux云服务器.执行以下命令,查看云服务器的mac地址.ifconfig查看MAC ...

  4. 【坑爹升级】更新NVIDIA GeForce GTX Ti最新驱动,突然屏幕亮瞎我24K钛合金双眼。导致Fn+F2/F3、win+x无法控制笔记本电脑显示器亮度调整, 电源选项屏幕亮度也不见了!

    一次手贱更新了上面这个驱动,结果: Fn+F2/F3不能控制亮度 win+X弹出来的下面这个窗口"显示器亮度"不见了 电源选项里面底部"屏幕亮度"也不见了 我研 ...

  5. 在Win 8.1上安装配置FlashDevelop5.0.0

    FlashDevelop是基于.NET框架的开源软件,只能在Windows环境下面运行,相较于Flash CS和FlexBuilder, 它非常轻量级.FlashDevelop只是一个代码编辑器,而不 ...

  6. 【Ubuntu】安装Ubuntu+Win双系统后,每次开机默认是进入Ubuntu,如何设置成默认进入Win?

    1.问题描述 安装Ubuntu+Win双系统后,每次开机默认是进入Ubuntu,如何设置成默认进入Win? 2.解决方法 1)记住开机选择中windows 10是第几个,从0开始记,如下图本人的是4 ...

  7. win mysql修改端口号_Windows10系统下查看mysql的端口号并修改的教程图解

    mysql的端口号默认是3306,初学者可能有时会忘记或者之前修改了默认的端口号,忘记了,或者很多时候我们一台电脑需要安装两个mysql或者想设置一个自己的喜欢的数字,那么接下来我们来看看如何查看或者 ...

  8. win设置计算机网络,Win10怎么修改网络类型,Win10网络类型怎么设置?

    Win10怎么修改网络类型,Win10网络类型怎么设置?对某件事物越是了解的深入,越是能发现产品的猫腻!比如Win10!因为产品性能没升级多少,但是马甲换的却非常勤快!可能有些朋友会感觉,下面的内容似 ...

  9. win使用linux共享打印机,Ubuntu 12.04以及 Window 下使用共享打印机

    目前针对各个办公室里面都已经配置打印机了,为了节约资源,该打印机想必已经被网管设置成了共享,然而我们应该如何进行使用呢?笔者目前常用的系统是Ubuntu 12.04,偶尔想打印东西的不想切换到XP系统 ...

最新文章

  1. 5.基于STM32F103+OV7670的网络摄像头
  2. 【计算理论】计算复杂性 ( 两个带子的图灵机的时间复杂度 | 证明多个带子图灵机时间复杂度 )
  3. php和mysql的版本区别_MySQL各个版本区别_MySQL
  4. 一个复杂系统的拆分改造实践
  5. pb界面框架开发_CATIA CAA二次开发草图界面框架类:CATSketcherCommands
  6. 计算机winform参考文献写,毕业论文基于C#WinForm的语音通信系统设计.doc
  7. SPOJ D-query 树状数组离线 求区间内不同数字的个数
  8. org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.demo.pojo.IdCard
  9. 宾馆酒店如何对客人进行实名认证登记?
  10. 关于计算机信息学奥赛视频,震惊!信息学奥赛好处竟然这么多
  11. 2017界面UI设计风格流行什么?(一)
  12. 申请自己的免费企业邮箱
  13. 用C语言编写高斯消元法解线性方程组
  14. 如何获取微信公众平台图文消息的永久链接
  15. XTerm 复制贴上
  16. PyTorch 深度学习实践 第13讲
  17. zooomcharts的使用 (1.18.8版本 + ts )
  18. Photoshop合并多个图片为PDF格式文件的(PDF文件编辑删除页面及合并的操作方法)解决方案
  19. UI妹子说我用CSS实现毛玻璃效果的样子很帅
  20. python更改csv序号从1开始

热门文章

  1. 实验一 顺序与选择结构(Python 头歌)
  2. java中6与3等于几_Java(六)
  3. Gigaphoton出厂最新机型KrF光源“G60K”
  4. 教你怎么在电脑上玩《代号:Ace》手游,《代号:Ace》二次元吃鸡手游电脑版教程
  5. linux 恢复 raid5数据,Raid5数据恢复案例(raid阵列数据恢复方法)
  6. K-means聚类分析与python实现
  7. JavaApi.Date
  8. Java Date Time 教程-java.sql.Date
  9. 【云原生 | 05】Docker中容器的创建与启停
  10. 【Android技巧】通过am完成发送开机广播等操作