资讯详情

仰邦 6E1X

bll

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; using ZK.Common; using ZK.HardWareSDK;  namespace ZK.HardWareBLL { 
            //Onbon6E1XCardNewBLL     public class Onbon6E1XCardNewBLL     { 
                static OnbonBx_sdk_dualNewSDK.EQareaHeader_G6 aheader;         static OnbonBx_sdk_dualNewSDK.EQSound_6G stSoundData = new OnbonBx_sdk_dualNewSDK.EQSound_6G();         static OnbonBx_sdk_dualNewSDK.EQpageHeader_G6 pheader;         static OnbonBx_sdk_dualNewSDK.DynamicAreaParams[] Params = new OnbonBx_sdk_dualNewSDK.DynamicAreaParams[1];         static Models.TerminalM terminalM;          public static int InitSdk(Models.TerminalM terminal)         { 
                    if (terminal == null)             { 
                        DelegateHelper.InfoMessageEvent?.Invoke("led不存在数据模型");                 return 1;
            }
            terminalM = terminal;
            { 
       
                aheader.AreaType = 0x00;
                aheader.AreaX = 0;
                aheader.AreaY = 0;
                aheader.AreaWidth = (ushort)terminal.width;
                aheader.AreaHeight = (ushort)terminal.height;
                aheader.BackGroundFlag = 0x00;
                aheader.Transparency = 101;
                aheader.AreaEqual = 0x00;
            }

            { 
       
                stSoundData.SoundFlag = 0;
                stSoundData.SoundVolum = 0;
                stSoundData.SoundSpeed = 0;
                stSoundData.SoundDataMode = 0;
                stSoundData.SoundReplayTimes = 0;
                stSoundData.SoundReplayDelay = 0;
                stSoundData.SoundReservedParaLen = 0;
                stSoundData.Soundnumdeal = 0;
                stSoundData.Soundlanguages = 0;
                stSoundData.Soundwordstyle = 0;
                stSoundData.SoundDataLen = 0;
                byte[] t = new byte[1];
                t[0] = 0;
                stSoundData.SoundData = t;
            }

            { 
       
                pheader.PageStyle = 0x00;
                pheader.DisplayMode = 0x02;
                pheader.ClearMode = 0x01;
                pheader.Speed = 15;
                pheader.StayTime = 500;
                pheader.RepeatTime = 1;
                pheader.ValidLen = 0;
                pheader.CartoonFrameRate = 0x00;
                pheader.BackNotValidFlag = 0x00;
                pheader.arrMode = OnbonBx_sdk_dualNewSDK.E_arrMode.eMULTILINE;
                pheader.fontSize = 9;
                pheader.color = (uint)0x01;
                pheader.fontBold = 1;
                pheader.fontItalic = 0;
                pheader.tdirection = OnbonBx_sdk_dualNewSDK.E_txtDirection.pNORMAL;
                pheader.txtSpace = 0;
                pheader.Valign = 2;
                pheader.Halign = 2;
            }



            return OnbonBx_sdk_dualNewSDK.bxDual_InitSdk();
        }

        /// <summary>
        /// 更新动态区
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="ipStr"></param>
        public static void sendMessage(string msg)
        { 
       
            try
            { 
       
                string ipStr = terminalM.ip;
                int err = 0;
                //Console.Write("输入IP:");
                //byte[] ip = Encoding.Default.GetBytes(Console.ReadLine());
                byte[] ip = Encoding.Default.GetBytes(ipStr);
                // byte[] img = Encoding.Default.GetBytes("32.png");
                byte[] str = Encoding.Default.GetBytes(msg);
                byte[] font = Encoding.Default.GetBytes("黑体");
                //OnbonBx_sdk_dualNewSDK.EQareaHeader_G6 aheader;
                //aheader.AreaType = 0x00;
                //aheader.AreaX = 0;
                //aheader.AreaY = 0;
                //aheader.AreaWidth = 96;
                //aheader.AreaHeight = 48;
                //aheader.BackGroundFlag = 0x00;
                //aheader.Transparency = 101;
                //aheader.AreaEqual = 0x00;
                //OnbonBx_sdk_dualNewSDK.EQareaHeader_G6 aheader1;
                //aheader1.AreaType = 0x10;
                //aheader1.AreaX = 48;
                //aheader1.AreaY = 0;
                //aheader1.AreaWidth = 32;
                //aheader1.AreaHeight = 32;
                //aheader1.BackGroundFlag = 0x00;
                //aheader1.Transparency = 101;
                //aheader1.AreaEqual = 0x00;
                // OnbonBx_sdk_dualNewSDK.EQSound_6G stSoundData = new OnbonBx_sdk_dualNewSDK.EQSound_6G();
                //stSoundData.SoundFlag = 0;
                //stSoundData.SoundVolum = 0;
                //stSoundData.SoundSpeed = 0;
                //stSoundData.SoundDataMode = 0;
                //stSoundData.SoundReplayTimes = 0;
                //stSoundData.SoundReplayDelay = 0;
                //stSoundData.SoundReservedParaLen = 0;
                //stSoundData.Soundnumdeal = 0;
                //stSoundData.Soundlanguages = 0;
                //stSoundData.Soundwordstyle = 0;
                //stSoundData.SoundDataLen = 0;
                //byte[] t = new byte[1];
                //t[0] = 0;
                //stSoundData.SoundData = t;
                aheader.stSoundData = stSoundData;
                //aheader1.stSoundData = stSoundData;

                //string str = "Hello,LED789";
                // OnbonBx_sdk_dualNewSDK.EQpageHeader_G6 pheader;
                //pheader.PageStyle = 0x00;
                //pheader.DisplayMode = 0x02;
                //pheader.ClearMode = 0x01;
                //pheader.Speed = 15;
                //pheader.StayTime = 500;
                //pheader.RepeatTime = 1;
                //pheader.ValidLen = 0;
                //pheader.CartoonFrameRate = 0x00;
                //pheader.BackNotValidFlag = 0x00;
                //pheader.arrMode = OnbonBx_sdk_dualNewSDK.E_arrMode.eMULTILINE;
                //pheader.fontSize = 12;
                //pheader.color = (uint)0x01;
                //pheader.fontBold = 1;
                //pheader.fontItalic = 0;
                //pheader.tdirection = OnbonBx_sdk_dualNewSDK.E_txtDirection.pNORMAL;
                //pheader.txtSpace = 0;
                //pheader.Valign = 2;
                //pheader.Halign = 2;


                IntPtr aa = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(OnbonBx_sdk_dualNewSDK.EQareaHeader_G6)));
                Marshal.StructureToPtr(aheader, aa, false);
                IntPtr bb = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(OnbonBx_sdk_dualNewSDK.EQpageHeader_G6)));
                Marshal.StructureToPtr(pheader, bb, false);
                //OnbonBx_sdk_dualNewSDK.EQpageHeader_G6 pheader1;
                //pheader1.PageStyle = 0x00;
                //pheader1.DisplayMode = 0x03;
                //pheader1.ClearMode = 0x01;
                //pheader1.Speed = 15;
                //pheader1.StayTime = 500;
                //pheader1.RepeatTime = 1;
                //pheader1.ValidLen = 0;
                //pheader1.CartoonFrameRate = 0x00;
                //pheader1.BackNotValidFlag = 0x00;
                //pheader1.arrMode = OnbonBx_sdk_dualNewSDK.E_arrMode.eSINGLELINE;
                //pheader1.fontSize = 18;
                //pheader1.color = (uint)0x01;
                //pheader1.fontBold = 0;
                //pheader1.fontItalic = 0;
                //pheader1.tdirection = OnbonBx_sdk_dualNewSDK.E_txtDirection.pNORMAL;
                //pheader1.txtSpace = 0;
                //pheader1.Valign = 2;
                //pheader1.Halign = 2;
                //IntPtr aa1 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(OnbonBx_sdk_dualNewSDK.EQareaHeader_G6)));
                // Marshal.StructureToPtr(aheader1, aa1, false);
                // IntPtr bb1 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(OnbonBx_sdk_dualNewSDK.EQpageHeader_G6)));
                // Marshal.StructureToPtr(pheader1, bb1, false);
                //删除单个动态区 zc
                //err = OnbonBx_sdk_dualNewSDK.dynamicArea_DelArea_6G(ip, 5005, 0xff);
                //Console.WriteLine("dynamicArea_DelArea_6G = " + err);
                //单区域文本 zc
                //err = OnbonBx_sdk_dualNewSDK.dynamicArea_AddAreaTxt_6G(ip, 5005, OnbonBx_sdk_dualNewSDK.E_ScreenColor_G56.eSCREEN_COLOR_SINGLE, 0, 0, 0,96
                // , 48, font, 12, str);
                //Console.WriteLine("dynamicArea_AddAreaTxt_6G = " + err);
                //单区域图片 zc
                //err = OnbonBx_sdk_dualNewSDK.dynamicArea_AddAreaPic_6G(ip, 5005, OnbonBx_sdk_dualNewSDK.E_ScreenColor_G56.eSCREEN_COLOR_FULLCOLOR, 0, 0, 0,
                //32, 32, bb, img);
                //Console.WriteLine("dynamicArea_AddAreaPic_6G = " + err);

                //更新动态区,可设置属性 zc
                err = OnbonBx_sdk_dualNewSDK.bxDual_dynamicArea_AddAreaTxtDetails_6G(ip, 5005, OnbonBx_sdk_dualNewSDK.E_ScreenColor_G56.eSCREEN_COLOR_SINGLE, 0,
                    aa, bb, font, str);
                //Console.WriteLine("dynamicArea_AddAreaTxtDetails_6G = " + err);

                //关联节目 zc
                //ushort[] RelateProSerial = new ushort[1] { 0};
                //err = OnbonBx_sdk_dualNewSDK.dynamicArea_AddAreaTxtDetails_WithProgram_6G(ip, 5005, OnbonBx_sdk_dualNewSDK.E_ScreenColor_G56.eSCREEN_COLOR_FULLCOLOR, 0, aa, bb, font, str, 0, RelateProSerial);
                //Console.WriteLine("dynamicArea_AddAreaTxtDetails_WithProgram_6G = " + err);


                //OnbonBx_sdk_dualNewSDK.DynamicAreaParams[] Params = new OnbonBx_sdk_dualNewSDK.DynamicAreaParams[1];
                Params[0].uAreaId = 0;
                Params[0].oAreaHeader_G6 = aheader;
                Params[0].stPageHeader = pheader;
                Params[0].fontName = BytesToIntptr(font);
                Params[0].strAreaTxtContent = BytesToIntptr(str);
                // Params[1].uAreaId = 1;
                // Params[1].oAreaHeader_G6 = aheader1;
                // Params[1].stPageHeader = pheader1;
                // Params[1].fontName = BytesToIntptr(font);
                // Params[1].strAreaTxtContent = BytesToIntptr(img);

                // err = OnbonBx_sdk_dualNewSDK.dynamicAreaS_AddTxtDetails_6G(ip, 5005, OnbonBx_sdk_dualNewSDK.E_ScreenColor_G56.eSCREEN_COLOR_SINGLE, 1, Params);
                // Console.WriteLine("dynamicAreaS_AddTxtDetails_6G = " + err);
            }
            catch (Exception ex)
            { 
       

                Common.Log4.LogManage.WriteErr("led 发送失败");
            }
        }

        //byte[]转换为Intptr
        public static IntPtr BytesToIntptr(byte[] bytes)
        { 
       
            int size = bytes.Length;
            IntPtr buffer = Marshal.AllocHGlobal(size);
            try
            { 
       
                Marshal.Copy(bytes, 0, buffer, size);
                return buffer;
            }
            finally
            { 
       
                //Marshal.FreeHGlobal(buffer);
            }
        }

    }

}

sdk

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace ZK.HardWareSDK
{ 
       
    public class OnbonBx_sdk_dualNewSDK
    { 
       
        public enum E_ScreenColor_G56
        { 
       
            eSCREEN_COLOR_SINGLE = 1,    //单基色
            eSCREEN_COLOR_DOUBLE,      //双基色
            eSCREEN_COLOR_THREE,       //七彩色
            eSCREEN_COLOR_FULLCOLOR,   //全彩色
        }
        public enum E_DoubleColorPixel_G56 : int
        { 
       
            eDOUBLE_COLOR_PIXTYPE_1 = 1, //双基色1:G+R
            eDOUBLE_COLOR_PIXTYPE_2,   //双基色2:R+G
        }

        public enum E_arrMode : int
        { 
       
            eSINGLELINE,   //单行
            eMULTILINE,    //多行
        }

        public enum E_DateStyle : int
        { 
       
            eYYYY_MM_DD_MINUS,   //YYYY-MM-DD
            eYYYY_MM_DD_VIRGURE, //YYYY/MM/DD
            eDD_MM_YYYY_MINUS,   //DD-MM-YYYY
            eDD_MM_YYYY_VIRGURE, //DD/MM/YYYY
            eMM_DD_MINUS,        //MM-DD
            eMM_DD_VIRGURE,      //MM/DD
            eMM_DD_CHS,          //MM月DD日
            eYYYY_MM_DD_CHS,     //YYYY年MM月DD日
        }

        public enum E_TimeStyle : int
        { 
       
            eHH_MM_SS_COLON,  //HH:MM:SS
            eHH_MM_SS_CHS,    //HH时MM分SS秒
            eHH_MM_COLON,     //HH:MM
            eHH_MM_CHS,       //HH时MM分
            eAM_HH_MM,        //AM HH:MM
            eHH_MM_AM,        //HH:MM AM
        };

        public enum E_WeekStyle : int
        { 
       
            eMonday = 1,    //Monday
            eMon,         //Mon.
            eMonday_CHS,  //星期一
        }

        public enum E_Color_G56
        { 
       
            eBLACK,     //黑色
            eRED,       //红色
            eGREEN,     //绿色
            eYELLOW,    //黄色
            eBLUE,		//蓝色
            eMAGENTA,	//品红/洋红
            eCYAN,		//青色
            eWHITE,		//白色
        }  //5代时间区只支持四种颜色

        public enum E_ClockStyle
        { 
       
            eLINE,     //线形
            eSQUARE,   //方形
            eCIRCLE,   //圆形
        };//表盘样式

        public enum E_txtDirection
        { 
       
            pNORMAL,       //正常
            pROTATERIGHT,  //向右旋转
            pMIRROR,       //镜像
            pROTATELEFT,   //向左旋转
        };//图文区文字方向---暂不支持

        [StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
        public struct ConfigFile
        { 
       
            public byte FileType; //文件类型
            public byte[] ControllerName; // 控制器名称
            ushort Address; //控制器地址
            public byte Baudrate; /* 串口波特率 0x00 –保持原有波特率不变 0x01 –强制设置为 9600 0x02 –强制设置为 57600*/
            ushort ScreenWidth; //显示屏宽度
            ushort ScreenHeight; // 显示屏高度
            public byte Color; /* 显示屏颜色定义 Bit0 表示红, bit1 表示绿, bit2 表示 蓝, 对于每一个 Bit, 0 表示灭, 1 表示亮*/
            public byte MirrorMode; // 0x00 –无镜向 0x01 –镜向
            public byte OEPol; //OE 极性,0x00 – OE 低有效 0x01 – OE 高有效
            public byte DAPol; // 数据极性, 0x00 –数据低有效, 0x01 –数据高有效
            public byte RowOrder; /*行序模式, 该值范围为 0-31 0-15 代表正序 0 代表从第 0 行开始顺序扫描 1 代表从第 1 行开始顺序扫描 ..... 16-31 代表逆序 0 代表从第 0 行开始逆序扫描 1 代表从第 1 行开始逆序扫描*/
            public byte FreqPar; /*CLK 分频倍数 注意: 针对于 AX 系列, 为后级分频 数值为 0~15, 共 16 个等级。*/
            public byte OEWidth; // OE 宽度
            public byte OEAngle; // OE 提前角
            public byte FaultProcessMode; /*控制器的错误处理模式 0x00 –自动处理 0x01 –手动处理(此模式仅供调试人员 使用)*/
            public byte CommTimeoutValue; /*通讯超时设置(单位秒) 建议值: 串口– 2S TCP/IP – 6S GPRS – 30S*/
            public byte RunningMode; /*控制器运行模式, 具体定义如下: 0x00 –正常模式 0x01 –调试模式*/
            public byte LoggingMode; /*日志记录模式 0x00 –无日志 0x01 –只对控制器错误及对错误进行 的错误进行记录 0x02 –对控制器的所有操作进行记 录, 包括: 控制器接收的各条指令、 发生的错误及错误处理*/
            public byte GrayFlag; /*灰度标志(仅 5Q 卡时有该字节) 0x00–无灰度 0x01–灰度*/
            public byte CascadeMode; /*级联模式: (仅 5Q 卡时有该字节) 0x00–非级联模式 0x01–级联模式*/
            public byte Default_brightness; /*AX 系列控制器专用, 表示上电时, 默 认的亮度等级值。 根据不同的屏幕类 型有所不同。*/
            public byte HUBConfig;  /*HUB 板设置(仅 6E 控制器支持) 0x00–HUB512 默认项 0x01–HUB256*/
            public byte Language; /*控制器多语言显示区。 0x00 ----简体中文显示。 0x01 ----非中文显示, 控制器显示图 形加英文字符。 其他值保留。*/
            public byte Backup; // 备用字节
            ushort CRC16; //整个文件的 CRC16 校验
        }

        [StructLayout(LayoutKind.Sequential, Pack = 1)]
        public struct Ping_data
        { 
       
            // 控制器类型
            //小端存储低位在前高位在后, 比如 0x254 反着取,低位表示系列,高位编号 [0x54, 0x02] 【系列,编号】
            public ushort ControllerType;
            // 固件版本号 
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
            public byte[] FirmwareVersion;
            // 控制器参数文件状态 0x00 –控制器中没有参数配置文件,以下返回的是控制器的默认参数。 此时, PC 软件应提示用户必须先加载屏参。0x01 –控制器中有参数配置文件
            public byte ScreenParaStatus;
            // 控制器地址
            public ushort uAddress;
            // 波特率
            public byte Baudrate;
            // 屏宽
            public ushort ScreenWidth;
            // 屏高
            public ushort ScreenHeight;
            // 显示屏颜色定义
            public byte Color;
            //当前亮度值 整数1-16
            public byte CurrentBrigtness;
            // 控制器开关机状态 0 关机 1开机?
            public byte CurrentOnOffStatus;
            // 扫描配置编号
            public ushort ScanConfNumber;
            // 第一个自己一路数据代几行,其他基本用不上,如有需要可参考协议取相应的字节
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 9)]
            public byte[] reversed;
            // 控制器ip地址
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
            public byte[] ipAdder;
        }


        [StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
        public struct heartbeatData
        { 
       
            public string password;    //密码
            public string ip;          //控制器IP地址
            public string subNetMask;  // 子网掩码
            public string gate;           // 网关
            public short port;            // 端口
            public string mac;           // MAC地址
            public string netID;       // 控制器网络ID
        }

        [StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
        public struct TimingOnOff
        { 
       
            public byte onHour;   // 开机小时
            public byte onMinute; // 开机分钟
            public byte offHour;  // 关机小时
            public byte offMinute; // 关机分钟
        }

        [StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
        public struct Brightness
        { 
       
            /* 0x00 –手动调亮 0x01 –定时调亮 注:以下的亮度值表,在定时调亮和手 动调亮时控制器才需处理。但在协议上 不论什么模式,此表都需要发送给控制 器 0x00 –手动调亮 0x01 –定时调亮 注:以下的亮度值表,在定时调亮和手 动调亮时控制器才需处理。但在协议上 不论什么模式,此表都需要发送给控制 器 */
            public byte BrightnessMode;

            //00:00 – 00:29 的亮度值, 0x00 – 0x0f
            public byte HalfHourValue0;
            public byte HalfHourValue1;
            public byte HalfHourValue2;
            public byte HalfHourValue3;
            public byte HalfHourValue4;
            public byte HalfHourValue5;
            public byte HalfHourValue6;
            public byte HalfHourValue7;
            public byte HalfHourValue8;
            public byte HalfHourValue9;
            public byte HalfHourValue10;
            public byte HalfHourValue11;
            public byte HalfHourValue12;
            public byte HalfHourValue13;
            public byte HalfHourValue14;
            public byte HalfHourValue15;
            public byte HalfHourValue16;
            public byte HalfHourValue17;
            public byte HalfHourValue18;
            public byte HalfHourValue19;
            public byte HalfHourValue20;
            public byte HalfHourValue21;
            public byte HalfHourValue22;
            public byte HalfHourValue23;
            public byte HalfHourValue24;
            public byte HalfHourValue25;
            public byte HalfHourValue26;
            public byte HalfHourValue27;
            public byte HalfHourValue28;
            public byte HalfHourValue29;
            public byte HalfHourValue30;
            public byte HalfHourVal

标签: e0e1e2传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台