西门子ET200模块6ES7193-6BP20-0DC0
我公司是西门子签约代理商备有大量西门子产品浔之漫智控技术(上海)有限公司:西门子授权代理商
现货库存;大量全新库存,款到48小时发货,无须漫长货期
西门子PLC(S7-200、S7-200SMART、S7-300、S7-400、S7-1200、S7-1500、ET200S、ET200M、ET200SP)、触摸屏、变频器、工控机、电线电缆、仪器仪表等,产品选型、询价、采购,敬请联系,浔之漫智控技术(上海)有限公司
为了允许PC机和工作站上的应用程序与西门子S7系列产品进行S7通讯西门子公司提供了一个SAPI-S7应用程序接口通过它可以灵活而方便地跟西门子S7系列产品进行通信。安装SIMATICNer软件后会在系统system32目录下生成一个s732.dll文件该动态链接库提供了大量基于bbbbbbsNT、bbbbbb95/98、bbbbbbs3.11和MS-DOS的函数这样就使得用户解决PLC和PC机的数据交换和数据处理问题变为可能。通信编程包括两个部分:(1)CP连接组态(2)PLC与上位机通信编程。4.1 CP连接组态 可采用step7软件或step7软件中用于工业以太网的NCMS7软件对CP进行网络组态。通讯处理器CP可连接PCPC/PG上一般装网卡CP1613。在bbbbbbs控制面板下的“setPC/PG"下安装所用网卡驱动程序并设协议、站号、波特率、是否为主站完成对VFDs(Virtual Field Device)和S7connections的配置[4]。
4.2 PLC和上位机的通讯编程 S7-300/400PLC有以下各类资源:①输入点I:接收外部开关量信号②输出点Q:输出给外部的开关量信号 ③内部辅助点M:存放所需中间结果 ④时间继电器T ⑤计数器 ⑥数据块DB:存放程序数据的存储区域⑦外设输入PI:主要接收模拟量输入信号经A/D转换⑧外设输出PQ:给出模拟两输出值[5]。要读/写这些资源要建立PLC和PC机的连接。4.2.1 初始化与PLC的连接 SAPI-S7应用程序接口提供的管理服务模块(AdministrativeServices)提供了一些可供读出配置信息和登录/退出通讯系统的函数下面作一些简要介绍[6]: Ø s7_get_device():通过此函数用户程序可以查询所有已安装的CP的CP名。 Ø s7_get_vfd():通过此函数用户程序可以查询任一CP的所有已配置的VFD。 Ø s7_init():通过此函数用户程序可登录通讯系统。 Øs7_get_cref() :此函数提供了一个指向所选S7 connection名的指针。 Øs7_get_conn():此函数返回已登录VFD的所有S7 connection名和指向他们的指针。 Øs7_shut():通过此函数用户程序可退出通讯系统。一个应用程序可以登录一个或多个CP的若干个VFD只有当应用程序登录CP及其所选的VFD在配置期间给该VFD的所有连接才是有效的。4.2.2读/写PLC内部资源初始化与PLC的连接成功后就可以对PLC进行读写操作。对PLC存储区即数据块DB的读写是实现监控的基本操作。SAPI-S7应用程序接口提供的变量服务模块(VariableServices)提供了一些读写函数由于篇幅有限现选一些经常用到的函数作一些简单介绍。 Øs7_cycl_read():此函数通知服务方准备对单存储单元循环读一个变量。 Øs7_get_cycl_read_ind():此函数接收来自服务方发送的数据。
Ø
s7_multiple_read_req():此函数通知服务方准备对多存储单元读一个或多个变量。 Øs7_get_multiple_read_cnf():此函数接收来自服务方的一个或多个变量的值。 Øs7_multiple_write_req():此函数通知服务方准备对多存储单元写一个或多个变量。 Øs7_get_multiple_write_cnf():此函数接收来来自服务方的执行上述写请求的结果。 需要特别注意的是:S7300/400PLC遵循“高地址、低字节"的规律这与某些习惯用法不同。例如在C++Builder6中变量类型为word的变量它的数据存放顺序是“低地址低字节"的规律。在对所读取的数据进行操作或给PLC数据块中写数据字时要进行相应的处理。为解决上位机不能因前台的信息处理而中断后台的等问题可采用多线程编程技术将对PLC内部资源的读/写功能模块交给一个后台线程来完成。多线程编程技术能提高CPU利用率加快信息处理提高系统的实时性在由多台计算机组成的分布式实时控制系统中应用多线程技术是必要的保养编辑