VB、C#等PC高级语言与西门子PLC(S7-200Smart、S7-1200、S7-1500、S7-300、S7-400等)以太网、串口通讯

本文主要是介绍VB、C#等PC高级语言与西门子PLC(S7-200Smart、S7-1200、S7-1500、S7-300、S7-400等)以太网、串口通讯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

VB、C#等PC高级语言与西门子PLC(S7-200Smart、S7-1200、S7-1500、S7-300、S7-400等)以太网、串口通讯

 (2017-02-07 18:34:52)

转载

标签: 

西门子plc

 

s7-400

 

s7-1500

 

s7-1200

 

s7-200smart

 

1.0  通讯组件概述

     通讯组件用于PC与可编程控制器(PLC)、智能仪表等进行数据通讯,适用于基于PC高级语言的工业自动化控制系统。组件采用动态链接库文件(*.DLL)的形式,在PC系统的项目工程里引用该组件,调用相应的属性与方法函数,即可快速实现PC与PLC的高效数据交换。

     DLL通讯组件无须安装,直接复制到工程文件目录,方便打包安装部署;无须任何配置,直接调用函数,与应用开发无缝衔接;多年工程经验的软件团队开发测试,经过本公司及客户的海量实际工程应用检验,稳定可靠;采用稳定高效的内部协议,无须编写PLC内部程序配合,直接访问PLC的内存,通讯响应快速;内建动态管理的多独立线程连接,同时支持外部应用的多线程结构调用;兼容WINDOWS系统下的所有开发环境,包括各种版本的VB.NET、C#、VC++,以及DEIPHI 、VB、LabView等;支持几乎所有PLC的CPU自带通讯口、通讯扩展模块。

 

2.0  通讯组件名称及下载地址

     2.1 以太网通讯组件(RJ45/PN口)

         S7-300/S7-400                下载: WinTcpS7.DLL

         S7-1200/S7-1500            下载: WinTcpS7_1K.DLL

         S7-200 Smart                   下载: WinTcpS7_Smart.DLL

         S7-200 CP243                  下载: WinTcpS7_CP2.DLL

    2.2 串口(PPI、MPI协议)

          S7-300/S7-400               下载: WinS7_MPI.DLL

          S7-200/S7-200 Smart    下载: WinS7_PPI.DLL

    2.3 智能网关模块专用(串口联网PPI、MPI协议)

          S7-300/S7-400                下载:  TransS7_MPI.DLL

          S7-200/S7-200 Smart    下载 TransS7_PPI.DLL

   无法下载或它疑问可加微信lflzdh或者QQ532011903留言;

 

3.0  数据类型

     通讯组件能对PLC的输入、输出端口,以及内部中间继电器存储区域、内部数据存储区域,以及扩展存储区域进行读写操作,支持以下数据类型:

     0  BOOL1:    1位布尔型数据;

     1  INT16:    16位有符号整数;

     2  UINT16:   16位无符号整数;

     3  DINT32:   32位有符号整数;  

     4  HEX32:    32位16进制字符;

     5  REAL32:   32位单精度浮点数据;

     6  BIN16:    16位二进制字符串;

     7  CHAR8:    8位单个字符CII)

     8  BYTE8:    8位单字节数据;

     9  STRING:   多个字符或数字组成的字符串CII)

 

4.0  函数与参数

4.1  函数参数 

[EntLink]        设置PC、PLC的通讯参数,建立与PLC的以太网连接;  

参数:   pcIP,String,本地地址,即PC端的IP地址

         pcPort , Uint16, 本地端口,即PC端的网络端口,默认为0

         plcIP , String ,远程地址,即PLC的IP地址

         plcPort ,Uint16,  远程端口,即PLC的通讯端口

         Rack ,Uint16,  PLC的机架号码

         Slot ,Uint16, PLC的CPU的插槽号码

         Handle, Integer ,DLL组件返回网络中PLC的连接句柄 *1

         SN , String,调用序列号码,可联系本公司获

         OverTime,Uint16, 通讯超时时间限制,毫秒单位,默认1000

返回值: Int16,函数执行结果,见4.3详细说明。

 

[ComLink]   设置PC、PLC的通讯参数,建立与PLC的串口连接; 

参数:   CommPort,Uint16,联接PLC的PC通讯端口

CommRate,Int32,与PLC通讯的速率

DataBit, Uint16, 通讯数据位数

StopBit,Uint16, 数据的停止位数

Parity,PrtType, 数据校验方式

Station, Uint16, PLC的站号码

OverTime,Uint16, 通讯超时时间限制,毫秒单位

SN , String,调用序列号码,通过联系本公司获取

返回值:Int16,函数执行结果,见4.3详细说明

 

[DeLink]    断开与PLC的连接;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

返回值: Int16,函数执行结果,见4.3详细说明

 

[CmdRead]   批量读取PLC的数据;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

ValType, DataType, 数据类型枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要读取的存储区域起始地址

Count ,Uint16, 要读取的数量,以ValType对应的数据类型为单位

ReData() ,Object/String,读取到的数据(传地址方式的形式参数)

返回值: Int16,函数执行结果,见4.3详细说明

 

[CmdWrite]    批量写入数据到PLC;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

ValType, DataType, 数据类型枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要写入的存储区域起始地址

Count ,Uint16, 要写入的数量,以ValType对应的数据类型为单位

Data() ,Object/String,要写入PLC的数据(传地址方式的形式参数)

返回值: Int16,函数执行结果,见4.3详细说明

 

[Bit_Test]   以Bit(位)的方式读取一个位的状态;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要读取的位所在的字或字节地址

Bit,Uint16, 要读取的位在Address中的位号码

State ,Boolean,读取到的位的状态(传地址方式的形式参数)

返回值: Int16,函数执行结果,见4.3详细说明

 

[Bit_Set]    以Bit(位)的方式设置其状态为ON;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要设置的位所在的字或字节地址

Bit,Uint16, 要设置的位在Address中的位号码

返回值: Int16,函数执行结果,见4.3详细说明

 

[Bit_Reset]   以Bit(位)的方式复位其状态为OFF;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要复位的位所在的字或字节地址

Bit,Uint16, 要复位的位在Address中的位号码

返回值: Int16,函数执行结果,见4.3详细说明

 

[CmdReadString]   读取PLC中的字符串;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要读取的存储区域起始地址

PlcDaize ,Uint16, PLC内定义的存放字符的最大字符数

返回值: String,正常时为读到的字符串,异常时为空

 

[CmdWriteString]   写入字符串到PLC;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要写入的存储区域起始地址

PlcDaize ,Uint16, PLC内定义的存放字符的最大字符数

         Data ,String, 要写入到PLC的符数,长度应≤PlcDaize

返回值: String,正常时为读到的字符串,异常时为空

 

[DataConvert]   数据类型转换函数; 

参数:   SourType,DataType, 数据类型枚举,见4.2详细说明

SourData , Object,需要转换的源数据

DestType ,DataType, 数据类型枚举,见4.2详细说

DestData ,Object,转换后的目标数据(传地址方式的形式参数)

StartByte ,Int16,目标数据从源数据取数的起始字节(可选参数)

返回值: Int16,函数执行结果,见5.3详细说明。

 

     *1: Handle参数说明

     为方便同一应用程序连接多台PLC而设置的参数,在通讯组件外部调用时,定义一个全局变量,DLL在与PLC网络连接成功以后,自动分配PLC句柄数据,外部程序通过该句柄区分操作不同的PLC;变量为输入输出型参数,即传地址方式的形式参数,外部赋值无效。

 

4.2  枚举结构体参数说明:

--PlcMemory   要操作的PLC的内存区域类型:

     DI:   数字输入端口;

     DQ:   数字输出端口;

     MR:   内部中间继电器区域;

     DR:   内部数据寄存器V/DB区域;

--PrtType  串口通讯的校验方式

     None: 无校验

     Odd:奇校验

     Even:偶检验

 

4.3  返回值说明:

     0 执行成功;

-1  IP地址或端口参数错误;

-2  网络连接错错误;

-3  连接参数错误导致连接失败(如Rack>7 、Slot>15等);

-4  PLC握手连接异常;

-5  PLC握手无响应;

-6  PLC握手响应错误;

-10 读数据超过最大数据量限制;

-11 读数据时数据发送异常;

-12 读数据时PLC响应超时;

-13 读数据PLC返回格式错误;

-14 读数据PLC返回数据错误;

-15 读数据PLC返回数据校验错误;

-18 PLC的网络句柄解析错误;

-19 PLC的网络句柄数据错误;

-20 写数据超过最大数据量限制;

-21 写数据时数据发送异常;

-22 写数据PLC响应超时;

-23 写数据PLC返回格式错误;

-24 写数据PLC返回数据错误;

-25 写数据PLC返回数据校验错误;

-28 PLC的网络句柄解析错误;

-29 PLC的网络句柄数据错误;

-31 数据转换时源数据处理错误;

-32 数据转换时目标数据处理错误;

-41 位操作函数的参数错误;

-70 PLC内存区域的功能受限制;

-80 PC系统中无网卡;

-81 PC的IP地址格式错误;

-82 PLC的IP地址格式错误;

-83 PING命令返回错误;

-99 连接序列号错误或测试次数超过试用限制;

 

5.0  组件使用步骤

5.1 基本步骤

a. 复制DLL、OCX文件到需要用到该组件的工程项目目录下;

b. 注册DLL、OCX文件(VS.NET平台的DLL程序集组件不用注册);

c. 在项目开发环境里引用DLL文件,不同的开发环境引用方式有区别,具体参见所用语言的帮助文档;

d.  参照例程定义、实例化通讯组件,编写相关通讯代码;

 

5.2  DLL注册方法

VS.NET平台的DLL程序集组件不用注册,ActiveX的COM组件(*.dll/*.ocx)须要在系统下注册才能正常使用,注册的方法主要有两种:

a. 代码注册:用Windows提供的Shell命令,Shell “regsvr32 \s ” + 组件的完整路径及文件名称;

b. 手动注册:同时按下 “Win”键 +“R”建,在弹出的运行对话框中输入: 

“Regsvr32 ” + 空格 + 组件的完整路径及文件名称,然后点“确认”按钮;

Windows7 及以上的系统下注册,建议对用户账户作以下设置:

控制面板->用户账号和家庭安全->用户账户->更改用户账户控制设置,把滑竿拖到最下面,即“从不通知”。

Windows7 及以上系统64位注册方法:

a. 在C:\Windows\SysWOW64\下新建目录(以 regdll 为例),复制需要注册的dll到这个目录下(以WinTcpS7.dll为例);

b. 点击开始,在“搜索程序和文件”里键入cmd,然后在搜索出来的cmd菜单上右键,以管理员的权限运行;

c. 此时cmd

VB、C#等PC高级语言与西门子PLC(S7-200Smart、S7-1200、S7-1500、S7-300、S7-400等)以太网、串口通讯

 (2017-02-07 18:34:52)

转载

标签: 

西门子plc

 

s7-400

 

s7-1500

 

s7-1200

 

s7-200smart

 

1.0  通讯组件概述

     通讯组件用于PC与可编程控制器(PLC)、智能仪表等进行数据通讯,适用于基于PC高级语言的工业自动化控制系统。组件采用动态链接库文件(*.DLL)的形式,在PC系统的项目工程里引用该组件,调用相应的属性与方法函数,即可快速实现PC与PLC的高效数据交换。

     DLL通讯组件无须安装,直接复制到工程文件目录,方便打包安装部署;无须任何配置,直接调用函数,与应用开发无缝衔接;多年工程经验的软件团队开发测试,经过本公司及客户的海量实际工程应用检验,稳定可靠;采用稳定高效的内部协议,无须编写PLC内部程序配合,直接访问PLC的内存,通讯响应快速;内建动态管理的多独立线程连接,同时支持外部应用的多线程结构调用;兼容WINDOWS系统下的所有开发环境,包括各种版本的VB.NET、C#、VC++,以及DEIPHI 、VB、LabView等;支持几乎所有PLC的CPU自带通讯口、通讯扩展模块。

 

2.0  通讯组件名称及下载地址

     2.1 以太网通讯组件(RJ45/PN口)

         S7-300/S7-400                下载: WinTcpS7.DLL

         S7-1200/S7-1500            下载: WinTcpS7_1K.DLL

         S7-200 Smart                   下载: WinTcpS7_Smart.DLL

         S7-200 CP243                  下载: WinTcpS7_CP2.DLL

    2.2 串口(PPI、MPI协议)

          S7-300/S7-400               下载: WinS7_MPI.DLL

          S7-200/S7-200 Smart    下载: WinS7_PPI.DLL

    2.3 智能网关模块专用(串口联网PPI、MPI协议)

          S7-300/S7-400                下载:  TransS7_MPI.DLL

          S7-200/S7-200 Smart    下载 TransS7_PPI.DLL

   无法下载或它疑问可加微信lflzdh或者QQ532011903留言;

 

3.0  数据类型

     通讯组件能对PLC的输入、输出端口,以及内部中间继电器存储区域、内部数据存储区域,以及扩展存储区域进行读写操作,支持以下数据类型:

     0  BOOL1:    1位布尔型数据;

     1  INT16:    16位有符号整数;

     2  UINT16:   16位无符号整数;

     3  DINT32:   32位有符号整数;  

     4  HEX32:    32位16进制字符;

     5  REAL32:   32位单精度浮点数据;

     6  BIN16:    16位二进制字符串;

     7  CHAR8:    8位单个字符CII)

     8  BYTE8:    8位单字节数据;

     9  STRING:   多个字符或数字组成的字符串CII)

 

4.0  函数与参数

4.1  函数参数 

[EntLink]        设置PC、PLC的通讯参数,建立与PLC的以太网连接;  

参数:   pcIP,String,本地地址,即PC端的IP地址

         pcPort , Uint16, 本地端口,即PC端的网络端口,默认为0

         plcIP , String ,远程地址,即PLC的IP地址

         plcPort ,Uint16,  远程端口,即PLC的通讯端口

         Rack ,Uint16,  PLC的机架号码

         Slot ,Uint16, PLC的CPU的插槽号码

         Handle, Integer ,DLL组件返回网络中PLC的连接句柄 *1

         SN , String,调用序列号码,可联系本公司获

         OverTime,Uint16, 通讯超时时间限制,毫秒单位,默认1000

返回值: Int16,函数执行结果,见4.3详细说明。

 

[ComLink]   设置PC、PLC的通讯参数,建立与PLC的串口连接; 

参数:   CommPort,Uint16,联接PLC的PC通讯端口

CommRate,Int32,与PLC通讯的速率

DataBit, Uint16, 通讯数据位数

StopBit,Uint16, 数据的停止位数

Parity,PrtType, 数据校验方式

Station, Uint16, PLC的站号码

OverTime,Uint16, 通讯超时时间限制,毫秒单位

SN , String,调用序列号码,通过联系本公司获取

返回值:Int16,函数执行结果,见4.3详细说明

 

[DeLink]    断开与PLC的连接;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

返回值: Int16,函数执行结果,见4.3详细说明

 

[CmdRead]   批量读取PLC的数据;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

ValType, DataType, 数据类型枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要读取的存储区域起始地址

Count ,Uint16, 要读取的数量,以ValType对应的数据类型为单位

ReData() ,Object/String,读取到的数据(传地址方式的形式参数)

返回值: Int16,函数执行结果,见4.3详细说明

 

[CmdWrite]    批量写入数据到PLC;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

ValType, DataType, 数据类型枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要写入的存储区域起始地址

Count ,Uint16, 要写入的数量,以ValType对应的数据类型为单位

Data() ,Object/String,要写入PLC的数据(传地址方式的形式参数)

返回值: Int16,函数执行结果,见4.3详细说明

 

[Bit_Test]   以Bit(位)的方式读取一个位的状态;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要读取的位所在的字或字节地址

Bit,Uint16, 要读取的位在Address中的位号码

State ,Boolean,读取到的位的状态(传地址方式的形式参数)

返回值: Int16,函数执行结果,见4.3详细说明

 

[Bit_Set]    以Bit(位)的方式设置其状态为ON;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要设置的位所在的字或字节地址

Bit,Uint16, 要设置的位在Address中的位号码

返回值: Int16,函数执行结果,见4.3详细说明

 

[Bit_Reset]   以Bit(位)的方式复位其状态为OFF;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要复位的位所在的字或字节地址

Bit,Uint16, 要复位的位在Address中的位号码

返回值: Int16,函数执行结果,见4.3详细说明

 

[CmdReadString]   读取PLC中的字符串;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要读取的存储区域起始地址

PlcDaize ,Uint16, PLC内定义的存放字符的最大字符数

返回值: String,正常时为读到的字符串,异常时为空

 

[CmdWriteString]   写入字符串到PLC;

参数:   Handle, Integer , 通过EntLink函数获取的网络中PLC的句柄 *1

Memory ,PlcMemory, PLC数据区域枚举,见4.2详细说明

Block ,Uint16, DB块的号码,非DB数据为0

Address ,Uint16, 要写入的存储区域起始地址

PlcDaize ,Uint16, PLC内定义的存放字符的最大字符数

         Data ,String, 要写入到PLC的符数,长度应≤PlcDaize

返回值: String,正常时为读到的字符串,异常时为空

 

[DataConvert]   数据类型转换函数; 

参数:   SourType,DataType, 数据类型枚举,见4.2详细说明

SourData , Object,需要转换的源数据

DestType ,DataType, 数据类型枚举,见4.2详细说

DestData ,Object,转换后的目标数据(传地址方式的形式参数)

StartByte ,Int16,目标数据从源数据取数的起始字节(可选参数)

返回值: Int16,函数执行结果,见5.3详细说明。

 

     *1: Handle参数说明

     为方便同一应用程序连接多台PLC而设置的参数,在通讯组件外部调用时,定义一个全局变量,DLL在与PLC网络连接成功以后,自动分配PLC句柄数据,外部程序通过该句柄区分操作不同的PLC;变量为输入输出型参数,即传地址方式的形式参数,外部赋值无效。

 

4.2  枚举结构体参数说明:

--PlcMemory   要操作的PLC的内存区域类型:

     DI:   数字输入端口;

     DQ:   数字输出端口;

     MR:   内部中间继电器区域;

     DR:   内部数据寄存器V/DB区域;

--PrtType  串口通讯的校验方式

     None: 无校验

     Odd:奇校验

     Even:偶检验

 

4.3  返回值说明:

     0 执行成功;

-1  IP地址或端口参数错误;

-2  网络连接错错误;

-3  连接参数错误导致连接失败(如Rack>7 、Slot>15等);

-4  PLC握手连接异常;

-5  PLC握手无响应;

-6  PLC握手响应错误;

-10 读数据超过最大数据量限制;

-11 读数据时数据发送异常;

-12 读数据时PLC响应超时;

-13 读数据PLC返回格式错误;

-14 读数据PLC返回数据错误;

-15 读数据PLC返回数据校验错误;

-18 PLC的网络句柄解析错误;

-19 PLC的网络句柄数据错误;

-20 写数据超过最大数据量限制;

-21 写数据时数据发送异常;

-22 写数据PLC响应超时;

-23 写数据PLC返回格式错误;

-24 写数据PLC返回数据错误;

-25 写数据PLC返回数据校验错误;

-28 PLC的网络句柄解析错误;

-29 PLC的网络句柄数据错误;

-31 数据转换时源数据处理错误;

-32 数据转换时目标数据处理错误;

-41 位操作函数的参数错误;

-70 PLC内存区域的功能受限制;

-80 PC系统中无网卡;

-81 PC的IP地址格式错误;

-82 PLC的IP地址格式错误;

-83 PING命令返回错误;

-99 连接序列号错误或测试次数超过试用限制;

 

5.0  组件使用步骤

5.1 基本步骤

a. 复制DLL、OCX文件到需要用到该组件的工程项目目录下;

b. 注册DLL、OCX文件(VS.NET平台的DLL程序集组件不用注册);

c. 在项目开发环境里引用DLL文件,不同的开发环境引用方式有区别,具体参见所用语言的帮助文档;

d.  参照例程定义、实例化通讯组件,编写相关通讯代码;

 

5.2  DLL注册方法

VS.NET平台的DLL程序集组件不用注册,ActiveX的COM组件(*.dll/*.ocx)须要在系统下注册才能正常使用,注册的方法主要有两种:

a. 代码注册:用Windows提供的Shell命令,Shell “regsvr32 \s ” + 组件的完整路径及文件名称;

b. 手动注册:同时按下 “Win”键 +“R”建,在弹出的运行对话框中输入: 

“Regsvr32 ” + 空格 + 组件的完整路径及文件名称,然后点“确认”按钮;

Windows7 及以上的系统下注册,建议对用户账户作以下设置:

控制面板->用户账号和家庭安全->用户账户->更改用户账户控制设置,把滑竿拖到最下面,即“从不通知”。

Windows7 及以上系统64位注册方法:

a. 在C:\Windows\SysWOW64\下新建目录(以 regdll 为例),复制需要注册的dll到这个目录下(以WinTcpS7.dll为例);

b. 点击开始,在“搜索程序和文件”里键入cmd,然后在搜索出来的cmd菜单上右键,以管理员的权限运行;

c. 此时cmd提示符为C:\Windows\System32,键入: Regsvr32 C:\Windows\System32\regdll\WinTcpS7.dll

d. 按回车键,然后提示注册成功(注意此时使用的是syswow64目录下的regsvr32.exe,而不是system32下的regsvr32.exe)。

 

6.0  技术支持

本公司提供各类PC与PLC通讯的解决方案,提供工业自动化软件定制开发服务,包括定制化的OPC数据服务器软件,以及自动化设备与生产线监控、数据采集项目等欢迎交流咨询。

任意一款DLL通讯组件,以及本公司的OPC数据服务器SDK开发包等工业数据服务产品都会随产品提供多种语言的例程,同时通过以下方式提供24小时技术支持:

 

E-Mail: liuflamp@126.com

QQ: 532011903

微信: lflzdh

http://www.aihe-tech.com

武汉埃和智能科技有限公司

上海埃菲尔自动化系统有限公司

24小时技术支持: 159 721 99489

提示符为C:\Windows\System32,键入: Regsvr32 C:\Windows\System32\regdll\WinTcpS7.dll

d. 按回车键,然后提示注册成功(注意此时使用的是syswow64目录下的regsvr32.exe,而不是system32下的regsvr32.exe)。

 

6.0  技术支持

本公司提供各类PC与PLC通讯的解决方案,提供工业自动化软件定制开发服务,包括定制化的OPC数据服务器软件,以及自动化设备与生产线监控、数据采集项目等欢迎交流咨询。

任意一款DLL通讯组件,以及本公司的OPC数据服务器SDK开发包等工业数据服务产品都会随产品提供多种语言的例程,同时通过以下方式提供24小时技术支持:

 

E-Mail: liuflamp@126.com

QQ: 532011903

微信: lflzdh

http://www.aihe-tech.com

武汉埃和智能科技有限公司

上海埃菲尔自动化系统有限公司

24小时技术支持: 159 721 99489

这篇关于VB、C#等PC高级语言与西门子PLC(S7-200Smart、S7-1200、S7-1500、S7-300、S7-400等)以太网、串口通讯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/424592

相关文章

2. c#从不同cs的文件调用函数

1.文件目录如下: 2. Program.cs文件的主函数如下 using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace datasAnalysis{internal static

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而

C语言:柔性数组

数组定义 柔性数组 err int arr[0] = {0}; // ERROR 柔性数组 // 常见struct Test{int len;char arr[1024];} // 柔性数组struct Test{int len;char arr[0];}struct Test *t;t = malloc(sizeof(Test) + 11);strcpy(t->arr,