PLC是专为工业自动控制而开发的装置,通常PLC采用面向控制过程,面向问题的“自然语言”编程。不同厂家的产品采用的编程语言不同,这些编程语言有梯形图、语句表、控制系统流程图等。为了增强PLC的各种运算功能,有的PLC还配有BASIC语言,并正在探索用其他语言来编程。
日本的FANUC公司、立石公司、三菱公司、富士公司等所生产的PLC产品,都采用梯形图编程。在用编程器向PLC输入程序时,一般简易编程器都采用编码表输入,大型编程器也可用梯形图直接输入。在众多的PLC产品中,由于制造厂家不同,其指令系统的表示方法和语句表中的助记符也不尽相同,但原理是完全相同的。在本书中我们以FANUC-PMC-L为例,对适用于数控机床控制的PLC指令作一介绍。在FANUC系列的PLC中,规格型号不只是功能指令的数目有所不同,如北京机床研究所与FANUC公司合作开发的FANUC-BESKPLC-B功能指令23条,除此以外,指令系统是完全一样的。
无需借助西门子的Simaticnet 软件,SIDirect DAS Server 可以通过标准的以太网卡访问S7 200,S7 300,S7 400 家族PLC。SIDirectDAServer可以通过DDE, FastDDE, Suibbbink, OPC协议连接bbbbbbs客户端软件,如Wonderware InTouch。
本Tech Note 一步一步详细介绍了如何配置和使用Wonderware SIDirect DA Server连接/访问S7PLC(这里,我们以S7-400 PLC 为例),以及如何用DDE/Suibbbink协议访问此DA Server。
在开始之前,请确保已满足以下条件:
1.仔细阅读并按照SIDirect DAServer的Readme文件及相关文档,来得到SIDirectDAServer所需要的系统需求,正确的安装过程,操作系统等信息。
2.安装SIDirect DAServer,如果已经安装了以前版本的SIDirectDAServer,请使用的"控制面板"中的"添加/删除程序"卸载,本Tech Note使用SIDirect DAServer1.1版。
3.安装并配置以太网卡和TCP/IP协议。
4.确认你可以"Ping"通你要连接的PLC。
注意:请仔细阅读SIDirect DAServer的在线文档关于所支持的硬件和软件部分,SIDirectDAServer只支持TCP/IP通信,不支持MPI,Profibus等其他非以太网方式。
本Tech Note假定用户具有并理解以太网,西门子S7 PLC 硬件/软件,bbbbbbs操作系统,Wonderware FactorySuite组件,WWClinet, SIDirectDAServer的基本知识。
配置SIDirect DAServer
1.选择任何栏上的开始/程序以启动SIDirect DAServer。
2.找到包含“System Management Console” 程序的 Wonderware文件夹,并点击启动SystemManagement Console 程序。
3.在ArchestrA System Management Console(SMC)中找到“DAServerManager”树下的SIDirect DAServer。在Local节点下,DAServer名字是“ArchestrA.DASSIDirect.1”。见下图1:
图1. SMC中的DASSIDirect DAServer
4.展开ArchestrA.DASSIDirect.1,并选择“Configuration”,将出现如下“bbbbbbbbbbbeters”对话框(图2):
图2. DASSIDirect – bbbbbb bbbbbeters
◆ Device Group Update Interval: 定义Device Group的默认更新时间间隔
◆ Slow Poll Interval: 定义当连接发生问题进入“SlowPoll”模式时,DAServer查询设备的时间间隔。当通信恢复正常后,DAServer的查询间隔调整为DeviceGroup的查询间隔。
◆ Transbbbbbb to SubbbbbbbionRatio:“Transbbbbbb”是来自于DDE/SL/OPC客户端的读/写消息,“Subbbbbbbion”是有处于“需采集”状态的数据点产生的,“Subbbbbbbion”按“UpdateInterval”为间隔周期性发送。 “Transbbbbbb to SubbbbbbbionRatio”定义DAServer在发送一个Subbbbbbbion前可以发送的Transbbbbbb的大数目。它是当有多个等待中的Transbbbbbb时,Transbbbbbb和Subbbbbbbion的比例,比例的后者总是为1。默认设置为2表示Transbbbbbb和Subbbbbbbion的比例是2:1。这个比例确保当Transbbbbbb非常繁忙时,任有一定数量的Subbbbbbbion动作。例如:比例设为2, 有3个Transbbbbbb,2个Subbbbbbbion准备好,Toolkit将先发送2个Transbbbbbb,1个Subbbbbbbion,在发送1个Transbbbbbb, 1个Subbbbbbbion。
◆ Transbbbbbb Message Timeout:每个Transbbbbbb(读/写/刷新等)消息的超时设置,这个超时设置使得客户端不会由于某种原因Transbbbbbb不被发送时导致被挂起。这是一个Transbbbbbb中消息更新的大允许时间。此数字应该设置为一个单独的数据更新不应超过此时间设置。
◆ Server Protocal Timer: 因为SIDirectDAServer使用事件驱动的协议引擎,此选项无效。
◆ Diagnostic Backlog Size: 定义在“TransbbbbbbDiagnostic”根上可显示的大的Transbbbbbb数。
◆ Poke Mode: 有以下有效模式:
- Control 保持写数据的顺序不改变,并且不合并Transbbbbbb。
- Transbbbbbb 使用保留要写的第1,第2和后一个数据的合并方式保持写数据的顺序。
- Optimization 不保持写数据的顺序,并且合并写数据的Transbbbbbb,只写入后一个要写的数据。
◆ Case Sensitive: 控制DAServer按大小写顺利扫描数据项和Device Group。
◆ Device Group Cache: 此参数保留将来使用。
◆ Simulation Mode: 此设置在此SIDirect DAServer中无效。
◆ System Items:此参数控制系统数据点是否出现在浏览窗口中,是否做为DAServer数据采集接口的有效数据项。
◆ Unique Device Groups: 此参数控制是否检查DeviceGroup在整个DAServer中的唯一性。
5.右键点击“Configuration”图标。
6.在菜单中选择“Add PortCpS7 bbbbbb”。
7.右键点击“New_PortCp_000”并选择“Add S7Cp bbbbbb”,出现如下S7参数设置对话框(图3):
图3. S7 CP通信参数
◆ Network Address: 输入PLC的IP地址,在此例子中,PLC的IP地址是192.168.10.41
◆ Local TSAP: 定义本地站的传输服务访问点,为数字定义设备,位数字为0,推荐设置为01.00
◆ Remote TSAP: 定义PLC的传输服务访问点。
◆ Remote Rack No.: 输入10进制机架号。
◆ Remote Slot No.: 输入10进制的CPU槽号。在此TechNote中,机架号设为0,CPU槽号设为3(电源模块占2个槽,CPU槽号为3)。
◆ Connection Resource: 从下拉框中选择16进制的连接资源。
8.选择“Device Group”属性页。
9.右键点击“Device Group”对话框中的空白地方,添加新的Device Group(类似主题名)到DeviceGroup对话框中。如下图4所示:
图4. Device Group 对话框
10.选择并用右键点击默认名Topic_0, 把它重新命名成一个有意义的名字,如S7PLC, 如图5所示:
PLC DeviceGroup>
图5. S7PLC Device Group
11.在左面的树形结构图中,右键点击ArchestrA.DASSIDirect.1并从子菜单中选择“ActivateServer”来启动此DA Server,ArchestrA.DASSIDirect.1旁边的图标将由红变成绿,如下图6所示:
在FANUC-PMC-L中有两种指令:基本指令和功能指令。当设计顺序程序时,使用多的是基本指令,基本指令共12条。功能指令便于机床特殊运行控制的编程,功能指令有35条。
在基本指令和功能指令执行中,用一个堆栈寄存器暂存逻辑操作的中间结果,堆栈寄存器有9位(如图1所示),按先进后出、后进先出的原理工作。当前操作结果压入时,堆栈各原状态全部左移一位;地取出操作结果时堆栈全部右移一位,后压入的信号恢复读出。
图1 堆栈寄存器操作顺序