西门子PLC模块代理商6ES7321-7BH01-0AB0
技术概述:SIMATIC S7-300,数字输入 SM321,电位隔离, 16 DE;24V DC,1个 20针, 过程报警,诊断, 适用于节拍同步运行
浔之漫智控技术(上海)有限公司是西门子中国的合作伙伴,授权代理商。
公司主要从事工业自动化产品的集成,销售和维修,是全国的自动化设备公司之一。公司坐落于中国一线城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。以下是我司主要代理西门子产品,来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!
SIEMENS 可编程控制器
1、 SIMATIC S7 系列PLC:S7-200、S7-1200、S7-300、S7-400、ET-200丶S7-200SMART等
2、 逻辑控制模块LOGO!230RC、230RCO、230RCL、24RC、24RCL 等
3、 SITOP 直流电源 24VDC 1.3A、2.5A、3A、5A、10A、20A、40A 可并联.
4、HMI 触摸屏 TD200TD400C K-TP OP177 TP177,MP277 MP377,
5丶西门子软件丶交换机丶电缆等。
SIEMENS 低压
1丶5SY丶5SL丶5SN系列小型断路器
2丶3VA丶3VM丶3VT8系列塑壳断路器
3丶3WL丶3WT系列框架断路器
4丶西门子软启动丶接触器丶继电器等。
SIEMENS 交、直流传动装置
1、 交流变频器MICROMASTER 系列:MM420、MM430、MM440、G110、G120.
2、全数字直流调速装置6RA23、6RA24、6RA28、6RA70、6SE70 系列
SIEMENS 数控 伺服
SINUMERIK:801、802S、802D、802DSL、810D、840D、611U、S120系统及伺报电机,力矩电机,直线电机,电缆,伺服驱动等备件销售。
S7-200的子程序编写与调试指令
S7-200CPU的控制程序由主程序、子程序和中断程序组成。STEP7-Mico/WIN32在程序编辑器窗口里为每个POU(程序组织单元)提供一个立的页,主程序总是1页,后面是子程序或中断程序。
因为各个程序在编辑都窗口里被分开,编译时在程序结束的地方无条件结束指令END、MEND.RET或RETI,如果在程序里加了这些指令,编译时反而会出错。
1.子程序的作用
子程序常用于需要主次反分执行相同任务的地方,只需要写次子程序,别的称序在占要子程序的时候调用它,而无需重写该程序:子在序的词用是有条件的,未调用它时不会执行了的程序中的指令,使用子程序可以减少扫描时间。
使用子程序可以将程序分成容易管理的小块,使程序结构简单清晰,易于查错和维护。如果子程序中只引用参数和局部变量,可以将子程序移植到其他项目。为了移植了程序,应避免使用全局符号和变量,如I、Q、M、SM、AI、AQ、V、T、C、S、AC等存储器中的地址。
2.子程序的创建
可采用下列方法创建子程序:在“编辑”菜单中选择“插人→子程序”;在程序编辑器视窗中按鼠标右键,从弹出菜单中选择“插人→子程序",程序编辑器将从原来的POU显示进人新的子程序,程序编辑器底部将出现标志新的子程序的新标签,在程序编辑器窗口中可以对新的子程序编程。可以使用该子程序的局部变量表定义参散,各子程序多可以定义16个IN、OUT参数。用石键双击指令树中的于程序或中断程序的图标,在弹出的窗口中选择“重新命名”,可修改它们的名称。
假设创建了一个名为CULCU的子程序,在该子程序的局部变量表中,定义一个名为输人"的双字IN(输人)变量、一个名为“输出”的双字0UT(输出)变量和一个名为TMP1的双字TEMP(临时)变量(见图6-5)。在图6-6的子程序中,输人变量被图6-5局部变业表乘以12000,再除以13 257,运算结果作为子程序的输出。
3.子程序的调用
可以在主程序、另一子程序或中断程序中调用子程序,不能在子程序中调用自己(即不允许递归调用)。调用子程序时将执行子程序的全部指令,肖至子程序结束,返回调用程序中子程序调用指令的下一条指令之处。
创建子程序后,STEP7-Micro/WIN32在指令树下面的“子程序”图标下自动生成刚创建的子程序CULCU对应的图标。对于梯形阁程序,在子程序局部变量表中为该子程序定义参数后,将生成客户化调用指令块(见图6-6),指令块中自动包含了子程序的输人参数和输出参数。
子程序与主程序
图6-6子程序与主程序
在梯形图程序中插人子程序调用指令时,打开程序编辑器视窗中需要调用子程序,找到需要调用子程序的地方。在指令树的下面用左键打开子程序文件夹,将需要子程序图标从指令树拖到程序编辑器中的正确位置。或将光标置于程序编辑器视窗双击指令树中的调用指令。
应为子程序调用指令的各参数有效的操作数,有效操作数为存储器地址、常量、全局符号和调用指令所在的P0U中的局部变量(不是被调用子程序中的局部变量)。
如果在使用子程序调用指令后修改该子程序中的局部变量表,调用指令将变为无效。删除无效调用,并用能反映正确参数的新的调用指令代替。
在语句表程序中调用子程序时使用调用指令“SBRn"。在调用子程序时,CPU保存整个逻辑堆栈后,将栈顶值置为1,堆栈中的其他值清0,控制转移至被调用的子程序。子程序执行完成时,用调用时保存的数据恢复堆栈,控制返回调用程序。子程序和调用程序共用累加器,不会因使用子程序自动保存或恢复累加器。
4.调用带参数的子程序
调用带参数的子程序时需要设置调用的参数,参数在子程序的局部变量表中定义,多可传递16个参数。
1N(输人)是传人子程序的输人参数,如果参数是直接寻址,如VB10.地址的值被传、)人子程序。如果参数是间接寻址,如*AC1,指针地址的值被传人子程序。如果参数是常数(例如DW#12345)或地址(如&VB100),它们的值被传人子程序,“非”为常数描述符。
0UT(输出)是子程序的执行结果,它被返回给调用它的POU常数和地址(如 & VB100)不能作抢出量。
IN_OUT(输人/输出)将参数的初始值传给子程序,子程序的执行结果返回给同一地址。常数和地址不能作输人/输出参数。
在子程序中可以使用参数IN、IN_OUT和OUT。
TEMP是局部存储变量,不能用来传递参数,它们只能在子程序中使用。
子程序传递的参数放在子程序的局部变量表中,局部变量表左边的一则是每个被传递的参数的局部存储器地址。调用子程序时,输人参数被拷贝到子程序的局部存储器,子程序执行完后,从局部存储器区拷贝输出参数到的输出参数地址,数据单元的人小和类型用参数的代码表示。在子程序中局部参数存储器的参数值分配如下:
(1)按子程序指令的调用顺序,给参数值分配局部存储郜,起始地址是L0。
(2)1-8个连续的位参数分配一个字节,字节中的位地址为Ix,0~Lx.7。
(3)字节.字和双字值在局部存储器中按字节顺序分配,如LBx,LWx或LDx中品好宝
在带参教调用子程序指令中,参数按一定的顺序排列,输人参数在前而,是输人/输出参数,后是输出参数。