推广 热搜: 西门子PLC  危化品安全,爆炸  变送器  培训  电机  PLC  变频器  触摸屏  服务机器人  阀门 

WINCE系统IO驱动说明

   日期:2013-03-25     来源:工控之家网    作者:工控之家    浏览:81    评论:0    
  1. 设备名称:GPIO,设备驱动文件名是GPIOnnnnxxxxxx.dll, nnnn是产品型号,xxxxxx是驱动文件生成日期
  2. 本驱动能够管理DI、DO、AI、AO、PI、PO、运行指示灯、告警指示灯、蜂鸣器。运行指示灯、告警指示灯、蜂鸣器的IO类型是IO_TYPE_SYS,编号为1-3.
  3. 驱动需要在应用程序中动态加载
  4. 驱动操作主要通过填充IO_CMD结构数据进行。IO_CMD结构详见设备驱动头文件。
  5. IO__CMD结构变量通过GIO_IOControl接口写入和读取
    1. 函数原型:GIO_IOControl(DWORD hOpenContext,DWORD dwCode,PBYTE pBufIn,DWORD dwLenIn,PBYTE pBufOut,DWORD dwLenOut,PDWORD pdwActualOut);
    2. 参数说明:
      1. hOpenContext,设备句柄,执行CreateFile时得到
      2. dwCode,操作代码
      3. pBufIn,dwLenIn:写入驱动的数据
      4. pBufOut,dwLenOut:读取驱动的数据
      5. pdwActualOut,不使用。
  6. 初始化
    1. IO使用前必须先进行初始化,以便建立正确的IO功能配置
    2. 初始化步骤
      1. 声明操作数据结构
      2. 填写IO类型、通道号、初始变量值到IO_CMD结构变量
      3. 调用IOControl命令将数据写入驱动
      4. 编程示例(初始化AI1):
        1. struct IO_CMD BufIn;
        2. BufIn.type=IO_TYPE_AI;
        3. BufIn.channel=1;
        4. GIO_IOControl(hOpenContext,IOCTL_CMD_INIT,&BufIn,sizeof(BufIn),NULL,NULL,NULL);
  7. 数据读取编程示例,读取DI2电平
    1. struct IO_CMD BufIn;
    2. BufIn.type=IO_TYPE_DI;
    3. BufIn.channel=2;
    4. GIO_IOControl(hOpenContext,IOCTL_CMD_READ,&BufIn,sizeof(BufIn),&BufIn,sizeof(BufIn),NULL);
    5. BufIn.value即为返回值
  8. IO设置编程示例,设置AO3输出为5V
    1. struct IO_CMD BufIn;
    2. BufIn.type=IO_TYPE_AO;
    3. BufIn.channel=3;
    4. BufIn.value=0x7fff; //AO满幅输出为0xffff
    5. GIO_IOControl(hOpenContext,IOCTL_CMD_READ,&BufIn,sizeof(BufIn),NULL,NULL,NULL);

 
打赏
 
更多>同类技术
0相关评论

推荐图文
推荐技术
点击排行
网站首页  |  免责声明  |  联系我们  |  关于我们  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅  |  违规举报  |  鲁ICP备12015736号-1
Powered By DESTOON