wjun7610
级别: 略有小成
精华主题: 0
发帖数量: 127 个
工控威望: 249 点
下载积分: 708 分
在线时间: 31(小时)
注册时间: 2007-09-16
最后登录: 2024-11-08
查看wjun7610的 主题 / 回贴
楼主  发表于: 2011-04-05 15:29
图片:
Omron_HostLink.dll V3.2 HostLink通信协议串口通讯动态链接库DLL(以下简称DLL),是为满足工业通信需要,

针对工业领域要求上位机对欧姆龙系列PLC通讯实时采集与控制的组态编程而设计。

本DLL是采用Delphi语言开发的标准串口通讯库,具有以下特点:

1)、遵循欧姆龙HostLink通信协议;

2)、支持多串口并发操作,支持多线程串口通讯,将串口通讯对主程序的影响降至最低;

3)、实时性、可靠性好,通用性强;

4)、适用于多PLC(下位机)联网和上位机通信,满足多方面的需要;

5)、函数接口功能全,操作简单,支持欧姆龙PLC的绝大部分地址的读写功能函数;

6)、支持USB、PC扩展卡等扩展串口号;

7)、支持多种操作系统win9x/win2000/winXP(标准Win32 DLL);

8)、易于快速开发(VC等非RAD开发环境的开发);

9)、更新原有函数调用方式采用数组调用数据发生与接收,初学者快速入门;

10)、可在多种编程环境下使用,例如VB、VC、Delphi、PB、Labview、易语言等开发环境;

11)、扩展了函数功能读取下位机中的双字、单精度浮点等类型数据,更加符合工业自动化领域的工控软件的开发。

软件版本更新及相关说明:

Omron_HostLink.dll V3.2 HostLink通信协议串口通讯链接库,实现了对欧姆 龙全系列PLC的HostLink协议的支持,

(删减了一些特权指令)wangjun于2010年在原有omron.dll V2.0版基础上的更新版,重写了函数结构,采用数据接收

和发送缓冲区(数组)方式传递,读出和写入单元数据使用更方便。对于16位整数和32位整数读取写入均按有符号整数

处理,小数的返回按单精度浮点型(2进制浮点)处理读取方式。提供扩展功能函数,方便用户实现混合数据读取。

能够同时满足32个串口并发情况下的正常使用。

Omron_HostLink.dll V3.2 分为完美版和单机版两个版本,本DLL于2010年最新规整优化了部分源码,

通过DLL发送缓存区与接收缓存区数据传递的功能扩展,使多语言环境的使用更加便利。

全新的串口通信DLL控件,完美的VB、VC、delphi例程及工件手册是,广大立志利用各类高级语言进行上位机软件开发的首先工具。

淘宝店:http://shop34821629.taobao.com

电 话:13912935690 025-84359545

腾讯QQ:157610979

邮 箱:157610979@QQ.com

wjun7610@yahoo.com.cn

chinawanglong@163.com
yamqq
雅马哈,爱普生,电装机器人。
级别: 网络英雄

精华主题: 0
发帖数量: 1717 个
工控威望: 5539 点
下载积分: 24588 分
在线时间: 299(小时)
注册时间: 2008-05-05
最后登录: 2024-08-25
查看yamqq的 主题 / 回贴
1楼  发表于: 2011-04-06 16:31
楼主,你out了,现在是基于fins的了!本来想把源码贴出来,想想还是不要断了你的财路,只把通讯协议贴一些出来吧
SUDT ACCESSPORT LOG FILE - Monitor mode

监控: COM8
创建时间: 2011-03-19, 14:35:30
计算机名: J2
系统版本: Microsoft Windows XP Professional Service Pack 3 (Build 2600)

#       Time        Function                        Data ( Hex )    

1       [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
2       [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
3       [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
4       [00000010]  IRP_MJ_CLOSE                    Port Closed
5       [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
6       [00000000]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
7       [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
8       [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
9       [00000002]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
10      [00000088]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
11      [00002270]  IRP_MJ_CLOSE                    Port Closed
12      [00000000]  IRP_MJ_CREATE                   Port Opened - AccessPort.exe
13      [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
14      [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
15      [00000002]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
16      [00000003]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
17      [00000940]  IRP_MJ_CLOSE                    Port Closed
18      [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
19      [00000000]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
20      [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
21      [00000010]  IRP_MJ_CLOSE                    Port Closed
22      [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
23      [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
24      [00000002]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
25      [00000002]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
26      [00000003]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
27      [00000941]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
28      [00001933]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 57 44 30 30 30 31 30 30 30 32 35 30 2A 0D
29      [00002507]  IRP_MJ_CLOSE                    Port Closed
30      [00000000]  IRP_MJ_CREATE                   Port Opened - AccessPort.exe
31      [00000000]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
32      [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
33      [00000002]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
34      [00000003]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
35      [00000804]  IRP_MJ_CLOSE                    Port Closed
36      [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
37      [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
38      [00000002]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
39      [00000009]  IRP_MJ_CLOSE                    Port Closed
40      [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
41      [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
42      [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
43      [00000002]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
44      [00000002]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
45      [00000093]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
46      [00000177]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
47      [00000190]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
48      [00000293]  IRP_MJ_CLOSE                    Port Closed

@00FA00000000001018200000000017C*//d0读
@00FA00000000001018200010000017D*  D1读   @00FA00000000001018200020000017E*  D2读
@00FA00000000001018200020000027D*  D2D3 读
@00FA00000000001018200020000027D*  D2D3 可写

@00FA0000000000101B2000000000106*  H0 读
@00FA0000000000101B2000000000106*  H0 可写
@00FA0000000000101B2000100000107*  H1 读
@00FA0000000000101B2000100000107*  H1 可写
@00FA0000000000101B2000200000104*  H2 读
@00FA0000000000101B2000200000104*  H2 可写
@00FA0000000000101B2000300000105*  H3 读
@00FA0000000000101B2000300000105*  H3 可写
@00FA0000000000101B2000300000206*  H3H4读
@00FA0000000000101B2000300000206*  H3H4可写

@00FA00000000001023100010100010176* 设置W1.1位置
@00FA00000000001023000640000010175* 写100.00
@00FA000000000010130006400000177*  100.00 读
@00FA000000000010130006401000176*  100.01 读
@00FA000000000010130006402000175*  100.02 读
@00FA000000000010130006500000176*  101.00 读
@00FA000000000010130006501000177*  101.01 读
@00FA000000000010130006502000174*  101.02 读


@00FA000000000010130000000000175*  0.00 读
@00FA000000000010130000001000174*  0.01 读
@00FA000000000010130000002000177*  0.02 读
@00FA000000000010130000100000174*  01.00读
@00FA000000000010130000200000177*  02.00读
@00FA000000000010131000000000174*  W0.00 读
@00FA000000000010131000001000175*  W0.01 读
@00FA000000000010131000002000176*  W0.02 读
@00FA000000000010131000002000176*   W0.02 读
@00FA000000000010131000100000175*  W1.00读
@00FA000000000010131000200000176*  W2.00读

@00FA000000000010189000000000177*  T0读
@00FA000000000010189000000000177*  T0读写
@00FA000000000010189000100000176*  T1读
@00FA000000000010189000100000176*  T1读写
@00FA000000000010189000200000175*  T2读
@00FA000000000010189000200000175*  T2读写

@00FA000000000010189000000000177*  C0读
@00FA000000000010189000000000177*  C0读写
@00FA000000000010189000100000176*  C1读
@00FA000000000010189000100000176*  C1读写
@00FA000000000010189000100000176*  C1读写并写了上下限100-10

@00FA000000000010189000200000175*  C2读
@00FA000000000010189000200000175*  C2读写
@00FA00000000001018900FA00000170*  C250读写
@00FA00000000001018909C400000109*  C2500读写
@00FA00000000001018909C40000020A*  C2500 C2501读写
这个人很懒,什么也没有留下!