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 堆栈寄存器操作顺序