7
6ES7214-1AD23-0XB8售后
PLC的编程语言与一般计算机语言相比,具有明显的特点,它既不同于语言,也不同与一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求。目前,还没有一种对各厂家产品都能兼容的编程语言。如三菱公司的产品有它自己的编程语言,OMRON公司的产品也有它自己的语言。但不管什么型号的PLC,其编程语言都具有以下特点:
1.图形式指令结构:程序由图形方式表达,指令由不同的图形符号组成,易于理解和记忆。系统的软件已把工业控制中所需的立运算功能编制成象征图形,用户根据自己的需要把这些图形进行组合,并填入适当的参数。在逻辑运算部分,几乎所有的厂家都采用类似于继电器控制电路的梯形图,很容易接受。如西门子公司还采用控制系统流程图来表示,它沿用二进制逻辑元件图形符号来表达控制关系,很直观易懂。较复杂的算术运算、定时计数等,一般也参照梯形图或逻辑元件图给予表示,虽然象征性不如逻辑运算部分,也受用户欢迎
2.明确的变量常数:图形符相当于操作码,规定了运算功能,操作数由用户填人,如:K400,T120等。PLC中的变量和常数以及其取值范围有明确规定,由产品型号决定,可查阅产品目录手册。
3.简化的程序结构:PLC的程序结构通常很简单,典型的为块式结构,不同块完成不同的功能,使程序的调试者对整个程序的控制功能和控制顺序有清晰的概念。
简化应用软件生成过程:使用汇编语言和语言编写程序,要完成编辑、
1.编译和连接三个过程,而使用编程语言,只需要编辑一个过程,其余由系统软件自动完成,整个编辑过程都在人机对话下进行的,不要求用户有高深的软件设计能力。
2.强化调试手段:无论是汇编程序,还是语言程序调试,都是令编辑人员的事,而PLC的程序调试提供了完备的条件,使用编程器,利用PLC和编程器上的按键、显示和内部编辑、调试、监控等,并在软件支持下,诊断和调试操作都很简单。
总之,PLC的编程语言是面向用户的,对使用者不要求具备高深的知识、不需要长时间的专门训练。问:西门子s7-300PLC与哈斯勒冲板流量计进行DP通讯
在硬件组态中安装了相关GSD文件,并在DP网络中插入了ANYBUS-S PDP站点(从站),在ANYBUS-S PDP站点下插入了两个类似模块的东西,bbbbb 64Bit和OUTPUT 16Bit 。
问题如下:
查看哈斯勒厂家提供的通讯数据格式,里面大部分是IEEE-Float格式的数据,也有些是Byte的8个BIt,反映的是各种状态,这些数据都存在读写,我查看硬件组态中bbbbb和OUTPUT都是I和Q的地址范围,
请问如何去读写ANYBUS-S PDP站点(从站)中的数据呢?直接用ID、IW或是QD、QW的格式直接读取,还是要通过SFC15和SFC14呢?
烦劳高手详细指点一下!谢谢
问题:感谢,阿鸣的详细解答!学习了S7300与S7200的DP通信,对此问题有了进一步的认识!
可是任然存有如下疑问,还请解答一下:(还是针对S7-300与哈斯勒冲板流量计的硬件组态来说)
1·ANYBUS-S PDP站点(从站)中插入了一个64Byte大小的bbbbb,其对应I地址默认为256..319;插入了一个16Byte大小的OUTPUT,其对应Q地址默认为320...335.;
2·在S7-300主站处也添加有300的数字输入和数字输出模块,I 为0..1,Q地址为0...1;
(参照 西门子S7-200与S7-300PROFIBUS通信,将S7-200看为仪表)问题如下:
从站那里32WORD的I地址,是否对应S7-300主站的QW0-QW31呢?S7-300主站自身的Q地址是外接实际继电器的,在通讯的同时,这是否存在地址重叠问题?同时S7-300主站处也没有32WORD这么多的Q点
没有实际建立过这样的通讯,请高手再说明一下,谢谢!
答:在回答你的问题之前,有一个概念必需搞明白,PLC的物理存储器以字节为单位,因此存储器单元规定为字节。
1•ANYBUS-S PDP站点(从站)中插入了一个64Byte大小的bbbbb,其对应I地址默认为IB256..IB319(共64个字节),相当于从站接收主站的数据存放在IB256..IB319;插入了一个16Byte大小的OUTPUT,其对应Q地址默认为320...335(16个字节),相当于从站发送信息给主站的数据区在320...335中;上述地址是DP从站与S7-300CPU主站之间的通信数据地址,是通过PROFIBUS总线与主站CPU交换信号的;而在S7-300主站处也添加有300的数字输入和数字输出模块(I 为0..1,Q地址为0...1为一个字节),但它们是通过机架上背板总线(I/O总线)与CPU进行I/O信号的高速交换和对信号模块数据的高速访问,因此是不一样的;
2.注意从站那里32WORD的I地址,不是对应S7-300主站的QW0-QW31,因为主站本身插槽中的数字输出模块可能已经使用此地址,避开S7-300主站插槽中数字量输入/输出模块已经占用的地址,所以在实际组态时要避免重叠,一般你在硬件组态时,STEP7 软件以及避免此类问题(选默认)。举个例子,S7-300CPU通过EM277把S7-200挂到S7-300的PROFIBUS网络上,而S7-300自身是16点数字输出占用了QW0,那么在建立主站S7-300 与从站S7-200的发送区和接收区对应关系时,在主站中只能用QW2(主站将信息存入QW2),发送从站的VW0数据存储区,为什么主站的发送数据区为QW2而不是QW0,就是因为S7-300CPU本身是16点数字输出占用了QW0,因此不可能是QW0,QW2是在S7-300CPU本身占用和插槽模块数字输出基础上设定的。当然可以设定为其他单元,但不可以设定为CPU本身及其插槽中模块已经占有的地址。
按结构分可将PLC分为整体式PLC、模块式PLC、叠装式PLC三类。
a.整体式PLC
它是将PLC各组成部分集装在一个机壳内,输入、输出接线端子及电源进线分别在机箱的上、下两侧,并有相应的发光二管显示输入/输出状态。面板上留有编程器的插座、EPROM存储器插座、扩展单元的接口插座等。编程器和主机是分离的,程序编写完毕后即可拔下编程器。
具有这种结构的可编程控制器结构紧凑、体积小、价格低。小型PLC一般采用整体式结构。
b.模块式PLC
输入/输出点数较多的大、中型和部分小型PLC采用模块式结构。
模块式PLC采用积木搭接的方式组成系统,便于扩展,其CPU、输入、输出、电源等都是立的模块,有的PLC的电源包含在CPU模块之中。PLC由框架和各模块组成,各模块插在相应插槽上,通过总线连接。PLC厂家备有不同槽数的框架供用户选用。用户可以选用不同档次的CPU模块、品种繁多的I/O模块和其他特殊模块,硬件配置灵活,维修时换模块也很方便。采用这种结构形式的有SIEMENS的S5系列、S7-300、400系列,OMRON的C500、C1000H及C2000H等以及小型CQM系列。
c.叠装式PLC
上述两种结构各有特色,整体式PLC结构紧凑、安装方便、体积小,易于与被控设备组成一体,但有时系统所配置的输入输出点不能被充分利用,且不同PLC的尺寸大小不一致,不易安装整齐;模块式PLC点数配置灵活,但是尺寸较大,很难与小型设备连成一体。为此开发了叠装式PLC,它吸收了整体式和模块式PLC的优点,其基本单元、扩展单元等高等宽,它们不用基板,仅用扁平电缆连接,紧密拼装后组成一个整齐的体积小巧的长方体,而且输入、输出点数的配置也相当灵活。带扩展功能的PLC,扩展后的结构即为叠装式PLC,



FX2N系列PLC硬件组成与其他类型PLC基本相同,主体由三部分组成,主要包括处理器CPU、存储系统和输入、输出接口。PLC的基本结构如图1-1所示。系统电源有些在CPU模块内,也有单作为一个单元的,编程器一般看作PLC的外设。PLC内部采用总线结构,进行数据和指令的传输。
外部的开关信号、模拟信号以及各种传感器检测信号作为PLC的输入变量,它们经PLC的输入端子进入PLC的输入存储器,收集和暂存被控对象实际运行的状态信息和数据;经PLC内部运算与处理后,按被控对象实际动作要求产生输出;输出送到输出端子作为输出变量,驱动执行机构。PLC的各部分协调一致地实现对现场设备的控制。
(1)处理器CPU
CPU的主要作用是解释并执行用户及系统程序,通过运行用户及系统程序完成所有控制、处理、通信以及所赋予的其它功能,控制整个系统协调一致地工作。常用的CPU主要有通用微处理器、单片机和双型位片机。
(2)存储器模块
随机存取存储器RAM用于存储PLC内部的输入、输出信息,并存储内部继电器(软继电器)、移位寄存器、数据寄存器、定时器/计数器以及累加器等的工作状态,还可存储用户正在调试和修改的程序以及各种暂存的数据、中间变量等。
只读存储器ROM用于存储系统程序。可擦除可编程序的只读存储器EPROM主要用来存放PLC的操作系统和监控程序,如果用户程序已调试好,也可将程序固化在EPROM中。
(3)输入输出模块
可编程序控制器是一种工业控制计算机系统,它的控制对象是工业生产过程,与DCS相似,它与工业生产过程的联系也是通过输入输出接口模块(I/O)实现的。I/O模块是可编程序控制器与生产过程相联系的桥梁。
PLC连接的过程变量按信号类型划分可分为开关量(即数字量)、模拟量和脉冲量等,相应输入输出模块可分为开关量输入模块、开关量输出模块、模拟量输入模块、模拟量输出模块和脉冲量输入模块等。
(4)编程器
编程器是PLC的重要外部设备。编程器将用户所希望的功能通过编程语言送到PLC的用户程序存储器中。编程器不仅能对程序进行写入、读出、修改,还能对PLC的工作状态进行监控,同时也是用户与PLC之间进行人机对话的界面。随着PLC的功能不断增强,编程语言多样化,编程已经可以在计算机上完成。
问:事件 8 / 113: 事件 ID 16# 3842
模块 确定
模块类型:分布式 I/0
输入地址: 2043
用户信息可用
来自替代者的诊断中断
要求的 OB:诊断中断 OB (OB82)
在当前工作模式下,OB 未找到、或被禁用、或无法启动
外部错误, 离开的事件
13:55:51.789 2010-12-13
事件 9 / 113: 事件 ID 16# 3842
模块 确定
模块类型:分布式 I/0
输入地址: 2044
用户信息可用
来自替代者的诊断中断
要求的 OB:诊断中断 OB (OB82)
在当前工作模式下,OB 未找到、或被禁用、或无法启动
外部错误, 离开的事件
13:55:51.787 2010-12-13
事件 10 / 113: 事件 ID 16# 3842
模块 确定
模块类型:分布式 I/0
输入地址: 2045
用户信息可用
来自替代者的诊断中断
要求的 OB:诊断中断 OB (OB82)
在当前工作模式下,OB 未找到、或被禁用、或无法启动
外部错误, 离开的事件
13:55:51.786 2010-12-13
事件 11 / 113: 事件 ID 16# 3842
模块 确定
模块类型:分布式 I/0
输入地址: 2046
用户信息可用
来自替代者的诊断中断
要求的 OB:诊断中断 OB (OB82)
在当前工作模式下,OB 未找到、或被禁用、或无法启动
外部错误, 离开的事件
13:55:51.786 2010-12-13
事件 19 / 113: 事件 ID 16# 38C4
分布式 I/O:站 返回
受影响 DP 从站的地址:站编号: 10
DP 主站系统标识号: 1
DP 从站的逻辑基址:输入地址: 2043
DP 主站的逻辑基址: 2047
要求的 OB:机架故障 OB (OB86)
在当前工作模式下,OB 未找到、或禁用、或无法启动
外部错误, 离开的事件
11:11:02.754 2010-12-13
事件 20 / 113: 事件 ID 16# 38C4
分布式 I/O:站 返回
受影响 DP 从站的地址:站编号: 9
DP 主站系统标识号: 1
DP 从站的逻辑基址:输入地址: 2044
DP 主站的逻辑基址: 2047
要求的 OB:机架故障 OB (OB86)
在当前工作模式下,OB 未找到、或禁用、或无法启动
外部错误, 离开的事件
11:11:02.682 2010-12-13
事件 21 / 113: 事件 ID 16# 38C4
分布式 I/O:站 返回
受影响 DP 从站的地址:站编号: 8
DP 主站系统标识号: 1
DP 从站的逻辑基址:输入地址: 2045
DP 主站的逻辑基址: 2047
要求的 OB:机架故障 OB (OB86)
在当前工作模式下,OB 未找到、或禁用、或无法启动
外部错误, 离开的事件
11:11:02.610 2010-12-13
答:所有的诊断信息都是指PROFIBUS DP从站问题,分别为PROFIBUS地址为10(针对地址2043)、9(针对地址2044)、8(针对地震2045),应该还有7(诊断地址2046),诊断地址就是上面的“输入地址”(DP从站的逻辑地址),其地址是你在硬件组态界面中把DP从站模块挂到主站(CPU)上时在模块“属性”子项中中间“Addresses"(地址)中设定的”Diagnostic“(诊断地址),一般默认设定;当然DP主站(主CPU)也有一个诊断地址(即上述DP主站的逻辑地址,默认2047);
由于上述模块具有诊断能力又使能了诊断中断,它输出一个诊断请求给CPU,操作系统调用OB82(诊断中断处理组织块)和分布式I/O从站故障组织块OB86;如果你的用户程序中添加了OB82、0B86,可能你未下载到CPU中,所以CPU上不仅SF灯亮,而且CUP处于STOP模式;另外还需下载OB122,;
根据我的分析判断,所有模块出问题的可能性不存在,大的可能是PROFIBUS连接电缆及其PROFIBUS连接头问题,如松动或断线、PROFBIUS连接头上末端电阻位置是否正确(中间DP从站在”OFF“位置,末端在”ON“),把所有通信连接头重新连接一遍),也可能PROFIBUS通讯受到干扰;