西门子复PLC中存储区分类有
I、Q、M、SM、V、L、S、C、T等等,他们在编程时用处不同
I存储区是输入触点制,可以接收外部的电平信号
Q存储区是输出触点,用于提供电平信号
M为中间继电器触百点,一般我们编程时多用于标志位
L为临时变量存储区,如LD10,这个变量只度在当前的程序段内起作用,调用子程序后或者子程序调用结束返回后临时变量中的数值就可能丢失了。问
D不是存储区也不是触点,这个一种数据类型,表示双字或实数类型,包含32个位,4个字节。西门子6FX8002-2DC20-1BF0—产品介绍
西门子6FX8002-2DC20-1BF0—产品介绍POU中的程序Program是IEC的逻辑执行主体。一般而言分为主程序、子程序,广义上讲,也包含硬件配置、任务配置、通讯配置及目标设置信息;一般在程序中定义普通全局变量、映射硬件地址全局变量、局部变量。通过程序间调用实现应用逻辑。
功能块bunction Block是面同对象特住的基个算法甲元。功能块保留付目已特然的内部变量,即私有数据,控制器目标执行系统必须给功能块的内部状态变量分配内存e799bee5baa6e997aee7ad94e59b9ee7ad94364,这些内部变量构成自身的状态特征。功能块的执行逻辑构成了自身的对象行为特征。
函数Function是没有内部状态(没有运行时的内存分配)的基本算法单元。也就是说,只要给定相同的输入参数,调用函数必定得到相同的运算结果,***没有二义性。我们平时使用的各种数学运算函数,如sin(x)、sqrt(x)等,就是典型的函数类型。
PLC采用的编程语言有梯形图、布尔助记符、功能表图、功能模块和语句描述编程语言。编程方法的多样性使编程简单、应用面拓展。操作十分灵活方便,监视和控制变量十分容易。
西门子PLC S7-300系列PLC安装及注意事项:
1、辅助电源功率较小,只能带动小功率的设备(光电传感器等)。
2、 一般PLC均有一定数量的占有点数(即空地址接线端子),不要将线接上。
3、 PLC存在I/O响应延迟问题,尤其在快速响应设备中应加以注意。
4、输出有继电器型,晶体管型(高速输出时宜选用),输出可直接带轻负载(LED指示灯等)。
5、输入/断开的时间要大于PLC扫描时间
西门子6FX8002-2DC20-1BF0—产品介绍
一、基本数据类型 1、位(bit)
常称为BOOL(布尔型),只有两个值:0或1。如:I0.0,Q0.1,M0.0,V0.1等。 2、字节(Byte)
一个字节(Byte)等于8位(Bit),其中0位为*低位,7位为*位。如:IB0(包括I0.0~I0.7位),QB0(包括Q0.0~Q0.7位),MB0,VB0等。范围:00~FF(十进制的0~255)。
3、字(Word)
相邻的两字节(Byte)组成一个字(Word),来表示一个无符号数,因此,字为16位。如:IW0是由IB0和IB1组成的,其中I是区域标识符,W表示字,0是字的起始字节。需要注意的是,字的起始字节(如上例中的“0”)都必须是偶数。e79fa5e98193e4b893e5b19e365字的范围为十六进制的0000~FFFF(即十进制的0~65536)。在编程时要注意,如果已经用了IW0,如再用IB0或IB1要特别加以小心。 4、双字(Double Word)西门子6FX8002-2DC20-1BF0—产品介绍
相邻的两个字(Word)组成一个双字,来表示一个无符号数。因此,双字为32位。如:MD100是由MW100和MW102组成的,其中M是区域标识符,D表示双字,100是双字的起始字节。需要注意的是,双字的起始字节(如上例中的“100”)和字一样,必须是偶数。双字的范围为十六进制的0000~FFFFFFFF(即十进制的0~4294967295)。在编程时要注意,如果已经用了MD100,如再用MW100或MW102要特别加以小心。
以上的字节、字和双字数据类型均为无符号数,即只有正数,没有负数。 5、16位整数(INT,Integer)
整数为有符号数,*位为符号位,1表示负数,0表示正数。范围为-32768~32767。 6、32位整数(DINT,Double Integer)西门子6FX8002-2DC20-1BF0—产品介绍
32位整数和16位整数一样,为有符号数,*位为符号位,1表示负数,0表示正数。范围为-2147483648~2147483647。 7、浮点数(R,Real)
浮点数为32位,可以用来表示小数。浮点数可以为:1.m×2e,其存储结构如图所示:
8、常数的表示方法 常数可以是字节、字或双字,CPU以二进制方式存储,也可以用十进制,十六进制ASCII码或浮点数形式来表示。如下图所示:
说明:(1)S5T#格式为:S5T#aD_bH_cM_dS_eMS,其中a,b,c,d,e分别是日,小时,分,秒和毫秒的数值,输入时可以省掉下划线,如表中所示。 (2)D#取值范围为:D#1990_1_1~D#2168_12_31。 二、复合数据类型
用户通过复合基本数据类型而生成就是复合数据类型。 复合数据类型包括以下几种: 1、数组(ARRAY)
将一组同一类型的数据组合在一起组成一个单位就是数组。
2、结构(STRUCT)
将一组同不同类型的数据组合在一起组成一个单位就是结构。 3、字符串(STRING)
字符串是由*多254个字符组成的一维数组。 4、日期和时间(DATE-AND-TIME)
用于存储年、月、日、时、分、秒、毫秒和星期的数据。占用8个字节,BCD编码。星期天代码为1,星期一~星期六代码分别是2~7。
如:DT#2004_07_15_12:30:15.200为2004年7月15日12时30分15.2秒。 5、用户定义的数据类型(UDT,User-Defined Data Types)
由用户将基本数据类型和复合数据类型组合在一起形成的数据类型。 可以在数据块DB和变量声明表中定义复合数据类型。 三、参数类型
是为在逻辑块之间传递参数的形参(Formal Parameter,形式参数)定义的数据类型。西门子6FX8002-2DC20-1BF0—产品介绍
一、硬件连接:
........按照上面所说的方法,用到编程口的通信电缆把CPU 226CN和CPU 224XP的端口PORT1连接起来。当然,这个连接口可以随意组合,不过,根据不同的情况,可能会影响到程序的编制——如果同一台PLC的2个编程口的地址不同(要连接多个通信设备或不同的用途,就需要把2个通信口设置为不同的地址),那么就可能会影响到程序的编制。
二、PLC地址分配:
........编程软件TEP 7 MicroWIN分配的地址固定是0;程序中PLC的默认地址为2,这个我们要修改;因为该系统中没有其它设备,例如人机界面/触摸屏,这里就把CPU 226CN的PROT0口的地址设为1,把CPU 226CN的PROT1口的地址设为2,把CPU 224XP的PROT0口的地址设为3,把CPU 224XP的PROT1口的地址设为4。
........当然,每个PLC的2个端口可以设置为相同的地址,这样的好处是:当一个通信口坏掉时,可以插到另外一个通信口,而不用更改主站PLC的程序。
........把每个PLC的2个端口设置为不相同的地址,笔者认为这样做没有什么好处(如果你知道,请告诉笔者,多谢!),只有坏处:当一个通信口坏掉时,插到另外一个通信口,需要更改与这台PLC通信的主站PLC的程序。不过这个例子中笔者这样分配地址,是做个实验而已。西门子6FX8002-2DC20-1BF0—产品介绍
三、编程:
........针对上面的控制要求,从站CPU 224XP就不需要编程了,只需要把CPU 224XP的PROT0口的地址设为3,把CPU 224XP的PROT1口的地址设为4并下载系统块就可以了。这个步骤就不赘述了,地址设置方法请参阅对CPU 226CN的设置。
........下面是对主站CPU 226CN进行编程和系统块地址设置的步骤。该例中,采用PPI协议进行通信(比自由口通信要简单得多),而且采用指令向导来编程(比直接设置特殊存储器SMB、调用NETR和NETW指令要简单得多)。
........点“设置PG/PC接口”,选中“PC/PPI Cable(PPI)”,点“属性”,在“本地连接”中选择你的编程程电缆的类型——COM1、COM2或是USB;在PPI中勾选“高级PPI”——非西门子电缆就不要选了,即使选了也不支持。点击“确定”——“确定”。
........把编程电缆插到每个PLC,对每个PLC设置的地址和设置统一的波特率——如果电缆质量不好,非原装电缆,波特率设置不要过高。先点“通信”,然后双击“双击刷新”。搜索到PLC地址后,设置好当前PLC地址。然后修改系统块中的PLC端口,按照预设的地址进行修改。*下载系统块,把PLC相应端口设置为预设的地址。这个操作比较简单,我就不在贴图赘述了。
........把编程电缆插回到D型9孔母头。点击“通信”,取消勾选“搜索所有波特率”,然后双击“双击刷新”:
把光标移动到要监控/下载的PLC上面。如果要编226CN主站,移到地址2,如上图。
点击“工具”——“指令向导”,选择“NETR/NETW”,点击“下一步”:
选择需要配置的操作数7a64e58685e5aeb9335量(这个例子为1),点击“下一步”:
选择主站的通信口(本例为端口1),点击“下一步”:
选择读还是写(本例为读),选择读几个数据(本例读2个数据,IB0-IB1;对于226CN的输入,应当读3个数据,IB0-IB2,共24个输入),选择PLC的地址(本例为4):
说明:
如果您在配置NETR,以下内容:
- 数据存储在本地 PLC 中的位置。有效操作数:VB、IB、QB、MB、LB。
- 从远程 PLC 读取数据的位置。有效操作数:VB、IB、QB、MB、LB。
如果您在配置 NETW,以下内容:
- 数据存储在本地 PLC 中的位置。有效操作数:VB、IB、QB、MB、LB。
- 向远程 PLC 写入数据的位置。有效操作数:VB、IB、QB、MB、LB。
点击“下一步”:
至此,向导完成。
然后在组程序中调用生成的加密子程序:
然后,下载该程序到PLC中即可。
然后监控程序,如果错误输出为1,那么是有问题的,表示通信不***。如下图,M0.1的值为1:
只有错误输出为0,通信才是***的(网络读写***),如下图:
通信***以后,重站PLC的输入就被读取到主站的VB存储器中了: