• 西门子模块6ES7321-1CH20-0AA0供应
  • 西门子模块6ES7321-1CH20-0AA0供应
  • 西门子模块6ES7321-1CH20-0AA0供应

产品描述

产品规格模块式包装说明全新

西门子模块6ES7321-1CH20-0AA0供应

S7-200 自由口通讯
自由口模式允许应用程序控制S7-200 CPU 的通讯端口,使用PC/PPI 电缆和自由口功能,可以将S7-200 连接到带有RS-232 兼容接口的多种设备,比如调制解调器。这里我们将介绍如何用S7-200 连接GSM 调制解调器发送短消息,并通过这个例子来介绍应用S7-200 自由口编程的一般原则时及应注意的问题。
在下面的例子中我们将用到:
1. PC/PPI 电缆(10 位;9 600 波特;DIP 开关设置:0 1 0 1 1)
2. 西门子 S7-200 CPU22X
3. TC35 Terminal GSM 调制解调器
4. 一个9 直通针转接头(用来连结PC/PPI 电缆与TC35 Terminal 调制解调器)
5. 一根九针直通电缆(用来连结计算机与TC35 Terminal 调制解调器)
6. STEP 7-Micro/Win V3.2 或高版本软件
一、 TC35 调制解调器AT 指令简介
要使用TC35 发送短消息需要使用TC35 的AT 指令,我们介绍如何用bbbbbbs 自带的级终端连接TC35 发送短消息。
1. 用九针直通的电缆将TC35 连接到计算机的串口上
2. 打开级终端(开始程序附件通讯级终端)
3. 为连接Connect to TC35T
4. 选择TC35 连接的串口COM1
5. 按照下图的参数设置端口。19 200 bps 为TC35 默认的端口波特率,如果该波特率已被改,请选择正确的波特率。
6. 在窗口中键入AT 回车测试与TC35 的连接,如果连接正确,TC35 将返回OK。
7. TC35 可以发送两种格式的短消息,普通文本格式和PDU 格式。应用普通文本格式时,
短消息内容以ASCII 码格式直接输入,操作比较简单,缺点是只能发送英文短消息;应用PDU 格式时,短消息内容以Unicode 格式输入,可以发送任何文字,缺点是短消息内容需要转换成Unicode 码,并且要把短消息按PDU 格式打包,操作比较复杂(编程复杂)。通过指令AT+CMGF=0 设置TC35 以PDU 格式发送短消息(默认),AT+CMGF=1设置TC35 以普通文本格式发送短消息。
8. 如何以普通文本格式发送短消息可以在S7-200 的网站上找到,这里我们将介绍如何发送中文短消息。要发送中文短消息把短消息内容转换成Unicode 码,并按照PDU 格式打
包发送给TC35。PDU 数据格式涉及手机开发的相关知识,我们不作详细介绍,这里指给出一个标准格式供大家使用。以下就是一个PDU 格式的数据包:
0001000D91683108214365F700080459296C14
其中,红色的数字(3108214365F7)代表对方的手机号码,在PDU 格式中,手机号码每两位需要对调。比如在上面这个例子里,对方的手机号码为,F 用来
7 后面的空位。蓝色的数字(59296C14)是短消息内容的Unicode 码,这里5929 代表“天”6C14 代表“气”。Unicode 码同样可以用来表示中一般英文字母和数字,方法是在英文或数字的ASCII前加00。紫色的数字(04)代表短消息的长度,它等于其后所有字符个数除以2。黑色的数字每次发送短消息时都是相同的,使用时可以照抄,但前提是所使用的SIM卡在使用前要用手机设置好短消息服务号码(+86)。汉字的Unicode 码可以通过编码转换软件得到,我们使用的是Megaton Technology 公司的一个编码转换软件
9. 在使用PDU 格式发送短消息时,还计算整个PDU 数据包的长度,PDU 数据包的长度等于(PDU 数据包字符数-2)/2,在上面的例子里:(38-2)/2=18。发送短消息时,我们先向TC35 发送AT+CMGS=<Length>回车(Length 是计算好的PDU数据包的长度),TC35 收到指令后返回一个“〉”符号,然后我们发送整个PDU 数据包并以组合键Ctrl+Z结束。
如果短消息被成功的发送,TC35 会返回+CMGS: x,其中“x”代表该模块以及发送的短消息个数,同时返回OK。
二、 设置TC35
在将TC35 连接到S7-200 之前我们先要对TC35 作一些设置,使其适合与PLC 通讯。
1. 通过指令AT+IPR=9600 设置TC35 的端口波特率为9 600 bps
2. 重新建立一个波特率为9 600 bps 的连接,用指令ATE0 禁止回波功能。回波功能使调制解调器将收到的指令回发给发送方,这项功能会给PLC 编程来来不便,当禁止回波功能后,TC35 只返回指令执行的结果,比如OK 等等
3. 键入AT&W0 回车将当前设置存为用户配置文件(掉电保持),再键入ATZ0 以用户配置文件重新启动。此后TC35 重新上电时将按照所作的设置启动。
三、 PLC 编程
现在,我们已经知道如何用AT 指令发送短消息,剩下的工作是用PLC 程序来发送这些AT指令。S7-200 的通讯端口为RS-485 接口,RS-485 接口为半双工接口,因此,编写PLC 程序的
关键是避免在通讯端口上同时发送和接收。我们下面将介绍一种标准的编程模式,按照这种模式编写自由口通讯程序可以有效的避免因同时发送和接收造成的通讯冲突,从而保证程序的正常运行。
四、 总结
这里我们总结以下自由口编程的一般原则:
1. SM0.1 触发端口初始化,连接发送完成和接收完成中断(中断事件9 和23)
2. SM0.0 触发RCV 指令
3. XMT 指令用上升沿触发,并在指令运行前先停止端口0 的接收(复位SM87.7,执行RCV 指令)
4. 在发送完成中断中,重新置端口0 为接收状态(置位SM87.7,执行RCV 指令),清空RCV 指令的接收缓冲区
5. 尽量减少在中断程序中编程,如果时间允许仅在中断程序中置标志位,然后在主程序中扫描该位执行具体的程序
6. 根据将要接收信息的不同,合理设置SMB87~SMB94

1 概述
在数控领域,目前使用的控制系统一般为通用型,如车床,铣床,加工等,但对一些特殊的机床如磨床,位置控制设备等都需要有自己的界面,这样便于对设备的操作,管理。这些界面用开发软件由设备制造,改造商开发。 西门子提供的开发软件OEM是专门用于对标准型数控系统进行二次开发。其种类有:
WS800A软件: 应用于西门子数控系统805/810/820/850/880/840C(DRDOS);
MMC103 OEM软件: 应用于西门子数控系统810D/840D/FMNC使用的MMC103;
NC OEM软件: 应用于西门子数控系统810D/840D NCU;
这里只介绍MMC103 OEM(下面简称OEM)的应用。

2 OEM主要功能
OEM开发软件一般由机床制造厂,机床改造商使用,根据用户需求,设计MMC103上各种机床界面。它能完成:
NCU中各种变量的访问,如偏,零偏,轴坐标值等;
R参数的访问;
PLC中各种变量的访问,如I/O口,标志区M,数据块DB等;
NCU中文件读取;
MMC103中文件读取;
利用VB,C++设计应用界面,如显示数据,图形;输入数据;管理文件及对外部的控制等;

3 OEM开发环境
MMC103 OEM开发软件安装于PC微机上,在bbbbbbS95下,使用VB,C++语言,利用OEM提供的 DDE接口,访问NCK,PLC,MMC103变量及文件并支持中文系统。
各种软件的功能:
MMC103 OEM开发软件,完成各界面的定义;
C++软件,完成各种语言界面的生成;
VB软件,完成画面设计,变量访问,计算等;

4 OEM的应用
今年夜疚谀郴渤匙ㄓ蒙璞附蛊MC103界面的二次开发设计。为便于说明,介绍一下某设备的情况: 机床有9个坐标轴、工控机测量系统、传感器检测系统、气动真空系统及控制系统840D+FMNC。控制系统的功能是实现位置控制和与各系统间动作的逻辑顺序控制,使之协调一致。 其中:
840D完成对7个数字伺服轴(X,Y,Z,C1,C2,C3,W1)的控制 ;
FMNC完成对2个模拟伺服轴(W2,W3)的控制;
工控机测量系统由各种传感器等组成,实现工件在空间非接触测量。控制系统接收测量值并控制9个轴的运动轨迹;
传感器检测系统用于连续变化的物理量(力、温度等)信号的采集,向控制系统提供多路模拟量和多路数字量信号。控制系统能对力、温度等信号的连续变化做出快速响应,以便数据的实时采集。 其系统总体配置原理图如下:
它对MMC103界面的要求:
实时显示9个轴(X,Y,Z,C1,C2,C3,W1,W2,W3)的位置值;
实时显示力、温度值的变化,并根据信号值的大小对轴的运动实施控制;
实时显示工件空间位置;
实时显示各工件的相对位置;
设置各工件相关参数;
动态工作曲线;

4.1 OEM界面设计
根据用户界面的要求,需设计12个画面OEM0-OEM11:
OEM0: 主画面,显示9个轴的位置值,压力值,温度值,工件工作位置,真空状态,保护状态;
OEM2--11: 工件1--10参数设置画面及保存修改软键;
使用MMC103 OEM开发软件,定义OEM0-11中软键功能。
如: OEM0中的 SETTING 软键;
OEM1中的 PART1-PART10,RETURN软键;
OEM2-11中的 SAVE,RETURN软键;
后生成相关文件。
使用C++将1)中的文件生成不同语言的连接文件。XXXXXXX。DLL
用VB设计OEM0-OEM11画面
如: OEM0中9个轴位置,各物理量值及工件轨迹的显示等

4.2 OEM中数据处理
它用VB提供的资源,指令,环境对OEM中的数据进行处理。所不同的是访问NC, PLC变量的方法不同,如读R100采用下列方法进行:
Label2。bbbbTopic = G_CHNCDDEServiceName
Label2。bbbbItem = “/Channel/bbbbbeter/R100”
Label2。bbbbMode = DDE
其它变量类同。
我们还可利用VB控制数据文件存储,打印,传送等多种功能。它等同于在微机上开发应用软件。
编制完成后,生成EXE文件。此文件即为OEM的应用文件。直接由MMC103中软键调用。(需设置相关配置文件)

5 OEM应用领域
OEM软件是为设计提供的进行人机界面二次开发的工具。设计人员可根据用户需求设计出功能灵活多样,画面丰富的应用程序。因此它应当在机床,控制系统中有着广泛的应用空间。如大型轧辊磨床,凸轮磨床,曲轴磨床,磨床,特殊的加工,控制设备等。
目前,OEM已应用在大型轧辊磨床和控制设备上。

由于水平有限,又OEM开发所涉及的因素较多,文中不能点击,如有不妥请指正,并希望多的人使用OEM。

 西门子PLC除基本逻辑运算指令、定时、计数等常用的开关量控制指令外,还包括大量的用于字节、字、双字逻辑处理,数学运算,程序控制,通信等指令。这些指令可以为用户的PLC功能开发、编程、使用提供方便,因此,习惯上将其称为功能指令。
    一个PLC可以使用的功能指令数量有所不同,从某种程度上说,功能指令反映了CPU功能的强弱。为了分别说明,本书对S7系列PLC的功能指令作了如下分类与定义:
    (1)字节、字、双字逻辑处理指令
    字节、字、双字逻辑处理指令是指以字节、字或双字的形式进行的逻辑运算与处理,包括字节、字或双字的“与”、“或”、“异或”、“取反”运算等。
    (2)比较指令
    比较指令是对两个存储器内容或数据的比较,通常以字节、字或双字的形式进行。比较方式可以是“大于”、“小于”、“等于”、“大于等于”、“小于等于”、“不等于”等,比较结果将以二进制位的形式输出。
    (3)装载、传送与移动指令
    装载、传送与移动指令用于存储器间的内容交换,通常以字节、字或双字的形式进行。在本书中,对装载、传送与移动的定义如下:
    装载:是指将存储器的内容或者特定的数据读入到累加器或地址寄存器中;
    传送:是指将累加器或地址寄存器的内容移动到的存储器中;
    移动:是指将某一存储器的内容或特定的数据移动到另一存储器中。
    (4)移位指令
    移位指令是对存储器本身内容所进行的调整,通常以字节、字或双字的形式进行。移位指令有左移、右移、循环移动等形式。
    (5)代码转换指令
    代码转换指令是指将一个存储器的存储内容以其他代码的形式存储到储器中的操作,通常以字节、字或双字的形式进行。常见的代码转换有二进制与BCD码间的转换、ASCII码与二进制数间的转换等。
    (6)数学运算指令
    代码转换指令是指将两个存储器间的内容进行四则运算、函数运算、增减“l”等处理后,移动到存储器中的操作,通常以字节、字或双字的形式进行。常见的代码转换有二进制与BCD码间的转换、ASCII码与二进制数间的转换等。
    (7)程序控制指令
    程序控制指令是指改变PLC内部指令的执行过程或PLC运行状态的操作。常见的有程序结束、程序跳转、程序中断、程序停止等。
    (8)通信指令
    程序控制指令是指用于控制PLC与外部设备间数据交换(通信)的指令。常见的有数据发送、数据接收等。
    以上指令在PLC中的具体数量、用法等可能有所区别,应注意实际使用的PLC型号。此外,对于具体某一型号的PLC,还可能有其他特殊的功能指令。你可以查看我们的其他文章或通过站内搜索得到。

①变量V(仅S7-200):在S7-200中,PLC内部变量用英文字母V标记,其作用与内部寄存器类似,可用于寄存PLC程序中间运算结果,但可以使用的数量多。在PLC程序的执行过程中可以不断对内部变量V的内容进行新与改变。由于变量V的状态可以由所有的程序块共用,因此,它是一种公共变量(也称共享变量)。
    由于S7-200中没有单的“数据块(DB)”存储区,内部变量V存储器的1部分被作为数据块DB1使用,它在不同的CPU中大小不等,可以是128~512字节。被作为数据块DB1使用的内部变量V,在PLC装载时可以像PLC程序一样复制到PLC的EEPROM中,而其余的内部变量V则只能保存在CPU的RAM中。
    在S7-300/400中,不可以使用内部变量V,而是需要通过数据块DB来存储PLC的中间运算结果。
    ②局部变量L:PLC内部局部变量用英文字母L标记,其作用与公共变量类似,但它是一种共用的、动态变化的存储区域,其内容与含义随着所执行的逻辑块的不同而改变,它用于寄存仅在逻辑块内部使用的中间运算结果。
    局部变量L与公共变量V的区别是:公共变量V在PLC程序中是通用的,即某一程序段或程序块的执行结果可以用于其他的程序段与程序块;而局部变量L的内容却是临时性、不固定的,只有在调用某一逻辑块时,在块的内部才有明确的含义,逻辑块一旦执行完成,其作用随之消失,因此,它随着所执行程序块的不同随时进行新与改变。
    局部变量L的地址范围在理论上为LO.O~L63.7共64个字节,但实际可以使用的一般为LO.O~L59.7共60个字节。

202207281244519172844.jpg202202231632210850864.jpg202202231632201798164.jpg

①内部标志位M:西门子PLC中的“内部标志位”用英文字母M标记,作用相当于其他公司PLC中常说的“内部继电器”,它用于寄存PLC程序中间运算结果。在PLC程序中,内部标志位的内容可以随着程序的执行,在执行过程中不断进行新与改变。
    ②特殊内部标志位SM:PLC内部特殊标志位用英文字母SM标记,它与内部标志位的区别是:特殊标志位SM具有特殊的含义,它可以反映PLC内部的工作状态和控制信息,并可被PLC用户程序使用。
    特殊标志位SM分为“只读”和“可读写”两部分。“只读”信号由PLC自动生成结果,在程序中只能使用其结果,而不能进行“写入”(或输出)操作。
     ③累加器AC:S7.200与S7—400有4个32位累加器ACCU0~ACCU3:S7—300有2个32位累加器ACCU0、ACCU1。累加器的内容同样只可以用字节、字或双字的形式进行处理,并以AC0~AC3作为地址。当以字节(或字)为单位存取累加器时,使用累加器的低8位或低16位。
    ④顺序控制继电器S(仅S7-200):在S7—200 PLC中,可以使用顺序控制继电器(SCR),它用英文字母S标记,用于组织PLC程序操作或进入相应的程序步。
    ⑤数据块DB/DI(仅S7—300/400):在S7—300/400系列PLC中,可以使用数据块DB来存储程序的处理结果或数据,数据块可以在DB(或DI)的地址下以十进制的形式来。
    数据块的内容同样可以用二进制位、字节、字、双字的形式使用,对于二进制位,地址以DBX+.+(或DIX*.*)形式;对于数据块中的字节、字、双字,地址以DBB**、DBW**、DBD**(DIB¨+、DIW**、DID***形式。1本地数据堆栈区L是局部变量,L变量仅在调用它的子程序中有效。
不同子程序中的L变量可用同名。如,FC1中有L0.1,FC2中也有L0.1这个变量,而2者间没任何关系、也不会相互冲突。
2不需要做初始化
3 局部变量解释:
L 是局部存储器,作为暂时存储器或给子程序传递参数,L也可以L*.*(如L2.5 是BOOL 量,是二个字节的五位),LB,LW,LD来存取,但仅仅在它被创建的块中有效,它也可以在符号表中定义,但只能在各个POU自己的符号表中定义. 
4. 全局变量和局部变量在符号寻址编程时,全局变量直接显示符号名,而局部变量在符号前会加上#,采用局部变量编程有很多优势:程序可以功能化移植(减少重复编程量),大程序方便协同作战(把任务分成各个功能块),这是SIEMENS的PLC比较优越性之处。
5  使用时请注意,一定要先赋值,后使用局部变量又称临时本地数据区(L堆栈),位于CPU的工作存储区用于存储程序块(OB、FB、FC)被调用时的临时数据,访问临时数据比访问数据块中的数据快。
“L是局部变量,只能在局部使用,不能在全局使用。”只是在这个程序块中可以使用的,使用结束后就会自动复位,它不能被其他的程序使用。临时变量的使用原则就是:先赋值,再使用
在S7-300CPU中,每一个级的局部数据区的大小是固定的。一般在组织块中调用程序块(FB、FC等),操作系统分配给每一个执行级(组织块OB,一般在OB块执行并调用其它FB、FC)的局部数据区的大数量为256B(字节),组织块OB自己占去20B或22B,还剩下多234B可分配给FC或FB。如果块中定义的局部数据的数量大于256字节,该块将不能下载到CPU中。在下载过程中提示错误信息:The?block?could?not?be?copied(该块不能被复制)。如果单击错误信息框中的Detail(详细)按钮,将弹出帮助信息:Incorrect?local?data?length(不正确的局部数据长度)。
在SIMATIC管理器中依次展开你的项目到Blocks(块),右击选中某个块,选择菜单bbbbbb?Properties(目标属性)选项。在块的属性对话框中,可以看到块所需要的局部数据字节数(Length长度:Local?Data(局部数据))。
在SIMATIC管理器中选中你的项目的Block(块(文件夹,执行菜单命令Options(选项)/Reference?Data(参考数据)/Display(显示),然后选择Program?Structure(程序结构),即可在参考表中查看局部数据的占用情况。


http://zhangqueena.b2b168.com

产品推荐