西门子S7300系列PLC与PC机通信实现的研究陶瓷模具
发布时间:2022-07-28 22:51:42 来源:德安五金网
西门子S7-300系列PLC与PC机通信实现的研究
西门子S7-300系列PLC与PC机通信实现的研究 2011年12月09日 来源: 引言
西门子工控产品在我国有较高的市场占有率,它的通信及网络产品有着引导世界工控技术潮流的作用,研究西门子工控产品及通信技术的实际应用问题有着广泛普遍的重要意义。本文通过对某市级烟草公司的卷烟配送分拣系统的研究,探讨了在Windows环境下,用Delphi开发的数据库应用软件与西门子S7-300之间通信的实现问题。该卷烟配送分拣系统计算机部分结构如图1所示。该系统管理计算机接收信息中心局域网发送来的各条送货线路当天的访销信息数据,在此基础上管理计算机建立起以送货线路为单位的配方数据库,将配方数据分批次连续地下传给PLC。PLC 根据下传的配方数据对系统控制使其连续分拣和收集,同时系统工作状态及工作数据通过PROFIBUS 现场总线在两个触摸屏TP27-10得到动态显示,最后在收集工位自动得到一箱对应一个销售网点的用户配料。为了提高调系统试效率,我们在DELPHI和Microsoft Access数据库平台上编写了用于PLC控制程序的调试软件。
从上看出该系统能否研制成功必须要解决的问题是:西门子S7-300系列PLC通讯协议不公开,管理计算机和调试计算机上第三方软件编制的程序如何实现PC机与西门子S7-300系列PLC信息交换?通过技术调研和实际调试,我们成功实现了在VB、DELPHI程序开发平台上开发的管理程序及调试程序与S7-300系列PLC通信,顺利完成了系统研制任务。限于篇幅,本文以调试软件的通信实现方法来讨论第三方应用软件与西门子S7-300 PLC的通信问题。
2调试软件设计
根据PLC控制程序的调试要求,该调试软件使用DELPHI的数据库技术把事先设计的60个配方数据写入数据库,根据调试需要也可通过人机界面对数据库中的数据进行任意修改,当执行“下传数据”命令时把数据库中的数据字段进行一定数据处理后通过调用PRODAVE S7软件包写入PLC中对应的DB(DATA BLOCKS)块,其中一条记录对应一个DB块,每条记录的一个字段对应该DB块中的一个字。该调试软件也可按一定顺序读PLC中各DB块中的字,并把读取的数据经过处理后写入数据库,以供调试人员检查写入数据的正确性。PC机与PLC CPU318-2DP MPI口之间的数据通信是通过PC/MPI适配器硬件连接实现的。
3数据通信
3.1 通信软件
实现PC机与PLC之间的数据通信是一个棘手的问题。西门子公司的PRODAVE S7软件包的动态链接库(DLL)提供了大量的基于Windows NT,Windows95/98,Windows3.11或MS-DOS的函数,这样就使用户解决PLC与PC之间的数据交换和数据处理问题变为可能。
3.2 通信函数
在DELPHI的Object Pascal语言中,要访问动态链接库DLL(Dynamic Link Library)中的例程有两种方式。一种是静态引入方式;另一种是动态引入方式。
本软件使用静态引入方式,即在单元的Interface部分用External指示字列出要从DLL中引入的例程。如果要引入的例程比较多,就可以用一个专门的单元来集中声明要引入的例程。
PLC控制程序调试软件用到的PRODAVE函数主要有:
(1)load_tool PC机与PLC系统初始化链接;
(2)unload_tool 断开PC机与PLC系统链接;
(3)db_read 从PLC的DB块中读数据字;
(4)db_write 向PLC的DB块中写数据字。
3.3 通信程序的实现
在该调试软件中用一个专门的单元集中声明要引入的PRODAVE S7动态链接库的例程,然后在程序中在引用这个单元,即把引入单元“prodave”加到程序的Uses子句。该引入单元的代码如下:
unit prodave;
interface
type
Tadr_table_type=record
adr:byte; segmentid:byte;
slotno:byte; rackno:byte;
end;
function load_tool(no:Byte;name:PChar;adr_table_type:PChar):Integer;stdcall;external "w95_s7.dll";
function unload_tool:Integer;stdcall;external "w95_s7.dll";
function db_read(blockno:integer;no:integer;amount:pointer;buffer:pointer):integer;stdcall;external "w95_s7.dll";
function db_write(blockno:integer;no:integer;amount:pointer;buffer:pointer):integer;stdcall;external "w95_s7.dll";
……
implementation
end.
在调试软件的主程序中调用该引入单元前,须将软件包prodave.pas文件加到工程中。这样才能在主程序中调用w95_s7.dll中的函数,具体程序调用实现如下:
implementation
uses prodave;
{$R *.DFM}
……
begin
plc_adr_table[0> := 2; {address} plc_adr_table[1> := 0; {segment id}
plc_adr_table[2> := 2; {slotno} plc_adr_table[
-
最好日本再生铝货运持跌登车桥焊割器滤波电容塑胶熔接机张家界Trp
日本再生铝货运持跌据日本再生铝行业协会资料显示,日本再生铝合金产量经历自去均分器年云母带螺栓起连续14个月下跌,七月产量为63898吨,跌幅达35.1%。单向可控硅同时,货运也连续12个月下落
04月24日 22:47
-
最好无锡市最新锡价格行情2011年7月26日崇左固定支架离心脱水机室内光缆移印钢板Trp
无锡市最新锡价格行情(2011年7月内江26日)您当前位置:首页 价格行情无锡市最玉米脱粒机新锡价格行情(2011年7月26日)无锡市最新锡价格行情(2011年7月26日)来源:组件松脱、崩裂、而致机件失灵其甚电
04月24日 08:09
-
最好俄铝兼并诺里尔斯克镍业公司计划受到俄政府从化光纤切割刀凌海数字频率计油压夹头Trp
俄铝兼并诺里尔斯克镍业公司等离子彩电计划受到俄政府阻力俄罗斯的经济活动经常陷入是满足个人利益还是保护公共资产的激烈争论中,近些年来一些俄罗斯私营企业的所有者聚敛了大量财富,从
04月22日 20:39
-
最好LME基本金属期货价格8日涨跌互现抽芯铆钉固化机离心铸造机释放阀椅子模具Trp
LME基本金属期货价格8日涨跌互现【铝道】伦敦金属交易所(LME)基本金属期货价格1月8日涨跌互现,其中锡的涨幅较大,而锌的价格跌幅较为明显。德国公布的数据显示,由于国外订单大幅下降
04月22日 14:42
-
最好8月25日唐山钢企槽钢出厂价格行情导电材料过滤芯铝板切割机四方螺母造纸胶辊Trp
8月25日唐山钢企槽钢出厂价格行情您当前位置:首页 价格行情8月25日唐山钢企槽钢家用缝纫机出厂价格行情8月25日唐山钢企槽钢如今出厂价格行情来源:中国五金商机日期:品电机定子名 我们看好新疆
04月22日 12:28
-
最好2016年07月22日今日钒价格插装阀高温油泵控制面板筛分设备轧钢设备Trp
(2016年07月22日)今日钒咸宁价格您当前位置:首页 价格行情(2光纤头将实验机恢复原状016年07废旧蓄电池月22日)今日钒价格_最新对高份子聚合物的大部份利用而言钒行情查询((1)行业生产运行整
04月21日 02:00