1西门子 S7300/400 系列的 PLC没有公开通讯协议,但西门子公司提供的 ProDave 软件公开了一系列库函数,使用计算机高级语言调用这些函数,可实现以 MPI的方式与 PLC通讯
当今的高级语言 VC#有着非常高效的开发手段,在把基础类库、标准模块都编好的情况下,开发监控界面的速度比 WinCC慢不了多少,但灵活性却是 WInCC无法比的
大家只要找到西门子的 ProDave 中的动态连接库:W95_S7
DLL,并把它注册到你的计算机即可(当然,你若有一套完整的 ProDave 安装程序,安装即可自动注册),然后在 C#这边编程调用,下面来讲解如何在 C#中调用动态库
由于 W95_S7
DLL是用 C语言编写的,很多函数接口不适用于 C#,因此我们可以创建一个 C#类库,把这些函数进行封装,每次开发监控界面调用此类库即可
一、 C#中调用 DLL 库的方法1、 在名称空间之前使用:using System
Runtime
InteropServices; //用于调用动态库的接口,一定要引用2、 导入每一个库函数,均要在函数声明之前使用属性字段:[DllImport("w95_s7
dll")]譬如与 PLC 建立连接的库函数 load_tool(),应使用如下的方式进行声明:[DllImport("w95_s7
dll")]private extern static int load_tool(byte nr,string device,byte[,] adr_table);二、 ProDave 中的重要库函数介绍1、 与 PLC 建立通讯连接的库函数:load_tool()该函数必须在其他所有函数调用之前被调用,在 C 中的声明为:int load_tool(int nr,char*device,char* adr_table);由于 C#在安全模式下不