西门子6ES7 222-1HD22-0XA0
上海西皇电气设备有限公司联系人:江工(销售/维修经理)24小时服务***:18321993475微信与电话号码同步传真(Fax):021-57358110商务(QQ):459170735地址(Add):上海市金山区枫泾镇泾波路375号本司***经营西门子PLC6ES7-200/300/400/1200/6EP/6***/6GK/ET200/6SE变频器/电缆/DP接头/触摸屏/变频器/数控伺服备件全系列产品、拥有***的技术团队,及***的从业人员,长期为客户提供西门子PLC的销售,安装,调试服务欢迎您来电咨询高品质西门子驱动和自动化产品价格用户可以把自己编制程序集成到编程软件Micro/WIN中。这样可以在编程时调用实现相同功能的库指令,而不必同时打开几个项目文件拷贝。指令库也可以方便地在多个编程计算机之间传递。新建库操作步骤:***步:在Micro/WIN的File(文件)菜单中,选择CreatLibrary...(建立库)命令;或者用鼠标右键单击指令树的Libraries(指令库)分支,选择CreatLibrary...第二步:在CreatLibrary对话框中选择哪些子程序要集成为指令库第三步:在Properties(属性)标签中设置指定指令库名称指定要生成的库文件的目录路径指定版本信息第四步:在Protection(保护)标签中设置密码第五步:按OK按钮确定,输出指令库文件指令库文件扩展名为.mwl,缺省情况下存在Micro/WIN安装目录下的lib文件夹中。库文件可以作为单独的文件拷贝、移动。添加指令库***步:在Micro/WIN的File(文件)菜单中选择Add/RemoveLibraries...(添加/删除指令库)命令;或者在指令树的Libraries(指令库)分支上单击鼠标右键,选择Add/RemoveLibraries...第二步:按Add(添加)按钮,选择新定义的库文件路径。用户自定义库将自动添加到Micro/WIN指令树的Libraries分支下。调用用户定义指令库指令库的使用方法与子程序基本一样。在OB1中两次调用上一个日志中的子程序SBR_0,在运行程序时发现,接通I0.0外接的小开关,Q0.0和Q0.1同时变为ON。这是因为分配给SBR_0的输出参数“电动机”的地址为L0.2,***次调用SBR_0之后,L0.2的值为ON。第二次调用SBR_0时,虽然起动按钮I0.2为OFF,但是因为两次调用SBR_0时局部变量区是公用的,此时输出参数“电动机”(L0.2)仍然为ON,所以第二次调用SBR_0之后,由于执行图4-40中的程序,输出参数“电动机”使Q0.1为ON。子程序的局部变量一定要遵循“先赋值后使用”的原则。S7-200的子程序使用临时变量来传递参数,OUT类型的参数不会把实参读入形参,所以这里使用OUT形参的触点就出现了临时变量未赋值先使用的情况。将输出参数“电动机”的变量类型改为IN_OUT就可以解决上述问题。这是因为两次调用子程序,参数“电动机”返回的运算结果分别用Q0.0和Q0.1保存,在第二次调用子程序SBR_0,执行“O#电动机”指令时,因为“电动机”是IN_OUT参数,使用的是前一个扫描周期保存到Q0.1的值,与本扫描周期***次调用子程序后参数“电动机”的值无关。简单地说,对于有记忆功能的电路,需要用存储单元来保存要记忆的变量值。S7-300的FB可以用静态变量来保存,而S7-200的子程序没有静态变量,只有用IN_OUT变量的实参(本例中的Q0.1)来保存变量值。​某日,客户打进电话来:“麻烦工程师,给一个编程的思路。我用的S7-200PLC,我想实时采集数据,如何才能实现永远记录***新的几条数据。”答曰:“运用表指令,就能够实现。”那么表指令怎么实现,下面我们来细说一下。首先,需要将实时采集的数据,建立一个指定长度的表格(ATT填表指令)。实时记录***新数据,那么就要求这个表格具有***先出的功能(FIFO)。1.ATT填表指令:向表格(TBL)中加入字值(DATA)。表格中的***个数值是表格的***大长度(TL)。第二个数值是表格的实际条目数。每次向表格中增加新数据后,条目计数加1。新数据被增加至表格中的***后一个条目之后,即无法再向表格中添加数据,报溢出。表格***多可包含100个条目,不包括指定***大条目数和实际条目数的参数。2.FIFO***先出指令:从表(TBL)中移走***个数据,并将此数输出到DATA。剩余数据依次上移一个位置。每执行一条本指令,表中的数据数减1。3.将这两个指令结合起来,先通过数据建表,当表格满了之后,再移出老的数据,填入***新数据。如下图所示:注意:所有的表格读取和表格写入指令必须用边缘触发器指令***。好啦,如果您需要实现实时记录***新数据,请参考吧。​用PTO怎么才能让步进电机走完一段距离后自动反转回来?外部没有开关答:1、主程序先正转,等到正转完了就中断,中断中接通个辅助触点(M0.X),当M.0X闭合,住程序中的反转开始运做.这样子就OK了。2、用PTO指令让Q0.0ORQ0.1高速脉冲,另一个点如Q0.2做方向信号,就可以控制正反转了,速度快慢就要控制输出脉冲周期了,周期越短速度越快,如果你速度很快的话请考虑缓慢加速,不然它是启动不了的,如果方向也变的快的话就要还做一个缓慢减速,不然它振动会蛮厉害,而且也会失步。3、程NETWORK1//用于单段脉冲串操作的主程序(PTO)//***扫描时,将映像寄存器位设为低//并调用子程序0LD***0.1RQ0.01CALLSBR_0NETWORK1//子程序0开始LD***0.0MOVB16#8D***B67//设置控制字节://-选择PTO操作//-选择单段操作//-选择毫秒增加//-设置脉冲计数和周期数值//-启用PTO功能MOVW+500***W68//将周期设为500毫秒。MOVD+4***D72//将脉冲计数设为4次脉冲。ATCHINT_019//将中断例行程序0定义为//处理PTO完成中断的中断。ENI//全局中断启用PLS0//***PTO操作,PLS0=>Q0.0MOVB16#89***B67//预载控制字节,用于随后的//周期改动。NETWORK1//中断0开始//如果当前周期为500毫秒://将周期设为1000毫秒,并生成4次脉冲LDW=***W68+500MOVW+1000***W68PLS0CRETINETWORK2//如果当前周期为1000毫秒://将周期设为500毫秒,并生成4次脉冲LDW=***W68+1000MOVW+500***W68PLS0序注释1位逻辑指令1.1-||-常开接点(地址)1.2-|/|-常闭接点(地址)1.3XOR位异或1.4-|NOT|-信号流反向1.5-()输出线圈1.6-(#)-中间输出1.7-(R)线圈复位1.8-(S)线圈置位1.9RS复位置位触发器1.10RS置位复位触发器1.11-(N)-RLO下降沿检测1.12-(P)-PLO上升沿检测1.13-(S***E)将RLO存入BR存储器1.14MEG地址下降沿检测1.15POS地址上升沿检测2比较指令2.1CMP?I整数比较2.2CMP?D双整数比较2.3CMP?R实数比较3转换指令3.1BCD_IBCD码转换为整数3.2I_BCD整数转换为BCD码3.3I_DINT整数转换为双整数3.4BCD_DIBCD码转换为双整数3.5DI_BCD双整数转换为BCD码3.6DI_REAL双整数转换为浮点数3.7INV_I整数的二进制反码3.8INV_DI双整数的二进制反码3.9NEG_I整数的二进制补码3.10NEG_DI双整数的二进制补码3.11NEG_R浮点数求反3.12ROUND舍入为双整数3.13TRUNC舍去小数取整为双整数3.14CEIL上取整3.15FLOOR下取整4计数器指令4.1S_CUD加减计数4.2S_CU加计数器4.3S_CD减计数器4.4-(SC)计数器置初值4.5-(CU)加计数器线圈4.6-(CD)减计数器线圈5数据块指令5.1-(OPN)打开数据块:DB或DI6逻辑控制指令6.1-(JMP)无条件跳转6.2-(JMP)条件跳转6.3-(JMPN)若非则跳转6.4LABEL标号7整数算术运算指令7.1ADD_I整数加法7.2SUB_I整数减法7.3MUL_I整数乘法7.4DIV_I整数除法7.5ADD_DI双整数加法7.6SUB_DI双整数减法7.7MUL_DI双整数乘法7.8DIV_DI双整数除法7.9MOD_DI回送余数的双整数8浮点算术运算指令8.1基础指令8.1.1ADD_R实数加法8.1.2SUB_R实数减法8.1.3MUL_R实数乘法8.1.4DIV_R实数除法8.1.5ABS浮点数***值运算8.2扩展指令8.2.1SQR浮点数平方8.2.2SQRT浮点数平方根8.2.3EXP浮点数指数运算8.2.4LN浮点数自然对数运算8.2.5SIN浮点数正弦运算8.4.6COS浮点数余弦运算8.2.7TAN浮点数正切运算8.2.8ASIN浮点数反正弦运算8.2.9ACOS浮点数反余弦运算8.2.10ATAN浮点数反正切运算9赋值指令9.1MOVE赋值10程序控制指令10.1-(Call)从线圈调用FC/SFC(无参数)10.2CALL_FB从方块调用FB10.3CALL_FC从方块调用FC10.4CALL_SFB从方块调用SFB10.5CALL_SFC从方块调用SFC10.6-(MCR<)主控继电器接通10.7-(MCR>)主控继电器断开10.8-(MCRA)主控继电器启动10.9-(MCRD)主控继电器停止10.10-(RET)返回11移位和循环指令11.1移位指令11.1.1SHR_I整数右移11.1.2SHR_DI双整数右移11.1.3SHL_W字左移11.1.4SHR_W字右移11.1.5SHL_DW双字左移11.1.6SHR_DW双字右移11.2循环指令11.2.1ROL_DW双字左循环11.2.2ROR_DW双字右循环12状态位指令12.1OV-||-溢出异常位12.2OS-||-存储溢出异常位12.3UO-||-无序异常位12.4BR-||-异常位二进制结果12.5==0-||-结果位等于"0"12.6<>0-||-结果位不等于"0"12.7>0-||-结果位大于"0"12.8<0-||-结果位小于"0"12.9>=0-||-结果位大于等于"0"12.10<=0-||-结果位小于等于"0"13定时器指令13.1S_PULSE脉冲S5定时器13.2S_PEXT扩展脉冲S5定时器13.3S_ODT接通***S5定时器13.4S_ODTS保持型接通***S5定时器13.5S_OFFDT断电***S5定时器13.6-(SP)脉冲定时器线圈13.7-(SE)扩展脉冲定时器线圈13.8-(SD)接通***定时器线圈13.9-(SS)保持型接通***定时器线圈13.10-(SF)断开***定时器线圈14字逻辑指令14.1WAND_W字和字相"与"14.2WOR_W字和字相"或"14.3WAND_DW双字和双字相"与"14.4WOR_DW双字和双字相"或"14.5WXOR_W字和字相"异或"14.6WXOR_DW双字和双字相"异或)
上海西皇电气设备有限公司
业务 QQ: