热门搜索:

上海西邑电气技术有限公司成立于1996年。在西门子公司广大同仁和工控领域各界朋友的关怀下埋头发展,一路走来已成西门子合作伙伴中的佼佼者。总部设在上海,办公面积1500多平方米,员工150余人。

    西门子828D

    更新时间:2020-09-24   浏览数:23
    所属行业:机械 电工电气 工控系统及装备
    发货地址:上海市金山区  
    产品规格:西门子828D
    产品数量:100.00台
    包装说明:全新原装
    单 价:面议
    型号西门子828D 颜色白色 尺寸80*80*80 产品别名西门子828D 用途工业 西门子

    西门子828D


    CPU自带的以太网接口可以使用OPEN IE的方式实现如下协议,分别介绍如下:
    • TCP
    • UDP
    • ISO-on-TCP
    注意:以下内容任何用户可以免费使用,复制和传递他人,程序的作者及拥有者不负责软件的功能性和兼容性,使用者须自己承担责任,由于内容免费,所以不保证错误的更正和热线支持!


    1. TCP通信

    1.1通信程序块的准备
    如下的通信块可以用来建立TCP通信,您需要把这些程序块拷贝到您的项目中:
    1) FB65 "TCON" 用于建立连接,连接时需要UDT65来提供参数
    2) FB66 "TDISCON" 用于断开连接
    3) FB63 "TSEND" 用于发送数据到S7站点、S5站点、PC站或者第三方设备
    4) FB64 "TRCV" 用于从S7站点、S5站点、PC站或者第三方设备接收数据
    5) UDT65 "TCON_PAR"存放用户通信参数
    6) FC97 "SET_TCP_ENDPOINTx" 用于修改UDT65类型变量内通信对象参数
    FB63,64,65,66这四个功能块可以在Standard Library -> Communication Blocks里得到:



    图 01: FB63,64,65,66

    FC97与UDT65需要从如下项目中打开获得:

     ( 42 KB )



    图 02: FC97与UDT65

    首先建立一个S7-300或者S7-400站,拷贝如上程序块到项目中。

    1.2通信程序编写

    1.2.1 生成数据块
    在程序中生成一个DB块,块号不限(本例为DB101),在块中建立变量DB_VAR,类型为UDT65

    西门子828D

    图 03: 生成UDT65类型变量

    1.2.2在OB1中编程
    首先调用FC97 "SET_TCP_ENDPOINTx"



    图 04: 调用FC97

    FC97参数说明如下:
    • ID: 连接ID
    • DEV_ID
    DEV_ID = B#16#1 用于本PLC型号(注意不是通信对方)为 IM151-8 PN/DP CPU
    DEV_ID = B#16#2 用于本PLC型号(注意不是通信对方)为 CPU31x-2PN/DP或IM154-8 CPU
    DEV_ID = B#16#3 用于本PLC型号(注意不是通信对方)为 CPU319-3PN/DP
    DEV_ID = B#16#5用于本PLC型号(注意不是通信对方)为 CPU41x-3PN/DP
    • ACTIVE: 主动或是被动建立连接,通信双方必须一个主动,一个被动
    • LOC_PORT: CPU本地的TCP端口
    • REM_PORT: 通信伙伴的TCP远程端口
    • IP_ADDR1 ... IP_ADDR4: 通信伙伴的IP地址
    • V23:本机是否是CPU31x-2PN/DP FIRMWARE 版本为2.3或以下版本
    • CON_DB:用UDT65生成的变量



    图05: 调用FB65 "T_CON"

    调用FB65 ,通过提供给FB65的输入参数"REQ"一个上升沿来建立连接。 “ID”为连接ID,“CONNECT”参数填写用UDT65生成的变量, 连接建立后会一直保持,直到调用FB66 "TDISCON"断开连接,CPU停止或者断电。

    1.2.3 调用发送和接收程序



    图06: 调用 FB63,64发送接收数据

    FB63 "TSEND" 发送请求依靠输入参数"REQ"的上升沿来实现,如果“BUSY”位为true时不要触发"REQ"。输出参数 "DONE", "ERROR" 和 "STATUS" 用于评估工作的情况。
    FB64 "TRECV" 用于接收数据,EN_R始终为true, “ID “填写连接ID,”DATA”填写接收数据区,输出参数"NDR" 用于表示新的数据已经收到,输出参数"LEN" 表示接收的数据长度。

    1.2.4断开连接
    调用FB66 "TDISCON",“ID “填写连接ID,输入参数"REQ"的上升沿来实现断开连接操作。



    图 07: 调用FB66 "TDISCON"


    2. UDP通信

    2.1通信程序块的准备
    如下的通信块可以用来建立UDP通信,您需要把这些程序块拷贝到您的项目中:
    1) FB65 "TCON" 用于建立连接,连接时需要UDT65来提供参数
    2) FB66 "TDISCON" 用于断开连接
    3) FB67 "TUSEND"用于发送数据到S7站点、S5站点、PC站或者第三方设备
    4) FB68 "TURCV"用于从S7站点、S5站点、PC站或者第三方设备接收数据
    5) UDT65 "TCON_PAR"存放用户通信参数
    6) UDT66 "TADDR_PAR"存放用户通信参数
    7) FC95"SET_UDP_ENDPOINT"用于建立本地UDP通信参数
    8) FC96"SET_UDP_REMOTE"用于建立远程UDP通信参数
    FB65,66,67,68这四个功能块可以在Standard Library -> Communication Blocks里得到:



    图 08: FB65,66,67,68

    FC95,96与UDT65,66需要从如下项目中打开获得:

     ( 41 KB )



    图 09: FC95,96与UDT65,66

    首先建立一个S7-300或者S7-400站,拷贝如上程序块到项目中。

    2.2通信程序编写

    2.2.1 生成数据块
    然后在程序中生成一个DB块,块号不限(本例为DB101),在块中建立变量DB_VAR,类型为UDT65



    图 10: 生成UDT65类型变量

    然后在程序中生成另一个DB块,块号不限(本例为db102),在块中建立变量DB_VAR,类型为UDT66



    图 11: 生成UDT66类型变量

    2.2.2在OB1中编程
    首先调用FC95,96


    图 12:调用FC95,96

    定义的本地UDP端点连接参数:
    通过FC95 "SET_UDP_ENDPOINT"设置,下列参数需要考虑:
    • ID: 连接ID
    • DEV_ID
    DEV_ID = B#16#1 用于本PLC型号(注意不是通信对方)为 IM151-8 PN/DP CPU
    DEV_ID = B#16#2 用于本PLC型号(注意不是通信对方)为 CPU31x-2PN/DP或IM154-8 CPU
    DEV_ID = B#16#3 用于本PLC型号(注意不是通信对方)为CPU319-3PN/DP
    DEV_ID = B#16#5用于本PLC型号(注意不是通信对方)为CPU41x-3PN/DP
    • LOC_PORT: CPU本地的TCP端口
    通过FC96 "SET_UDP_REMOTE"定义远端的UDP端点. 下列参数需要考虑:
    REM_PORT: 通信方端口号
    IP_ADDR1 ... IP_ADDR4: 通信方IP地址



    图 13: 调用FB65 "T_CON"

    调用FB65 ,通过提供给FB65的输入参数"REQ"一个上升沿来建立连接。 “ID”为连接ID,“CONNECT”参数填写用UDT65生成的变量, 连接建立后会一直保持,直到调用FB66 "TDISCON"断开连接,CPU停止或者断电。

    2.2.3 调用发送和接收程序



    图 14: 调用FB67,68接收和发送数据

    FB67 "TUSEND"发送请求依靠输入参数"REQ"的上升沿来实现,如果“BUSY”位为true时不要触发"REQ"。输出参数 "DONE", "ERROR" 和 "STATUS" 用于评估工作的情况。"ADDR"填写UDT66生成的变量。
    FB68 "TURCV" 用于接收数据,EN_R始终为true, “ID “填写连接ID,”DATA”填写接收数据区,输出参数"NDR" 用于表示新的数据已经收到,输出参数"LEN" 表示接收的数据长度。"ADDR"填写UDT66生成的变量。

    2.2.4断开连接
    调用FB66 "TDISCON",“ID “填写连接ID,输入参数"REQ"的上升沿来实现断开连接操作。



    图 15: 调用FB66 "TDISCON"


    3. ISO ON TCP通信

    3.1通信程序块的准备
    如下的通信块可以用来建立ISO ON TCP通信,您需要把这些程序块拷贝到您的项目中:
    1) FB65 "TCON" 用于建立连接,连接时需要UDT65来提供参数
    2) FB66 "TDISCON" 用于断开连接
    3) FB63 "TSEND" 用于发送数据到S7站点、S5站点、PC站或者第三方设备
    4) FB64 "TRCV" 用于从S7站点、S5站点、PC站或者第三方设备接收数据
    5) UDT65 "TCON_PAR"存放用户通信参数
    6) FB420 "SET_ISO_ENDPOINT" 用于修改UDT65内通信对象参数
    7) FC21 被FB420调用
    FB63,64,65,66这四个功能块可以在Standard Library -> Communication Blocks里得到:



    图 16: FB63,64,65,66

    FB420 FC21与UDT65需要从如下项目中打开获得:

     ( 50 KB )



    图 17: FB420 FC21与UDT65

    首先建立一个S7-300或者S7-400站,拷贝如上程序块到项目中。

    3.2通信程序编写

    3.2.1 生成数据块
    在程序中生成一个DB块,块号不限(本例为DB101),在块中建立变量DB_VAR,类型为UDT65



    图 18: 生成UDT65类型变量

    3.2.2在OB1中编程
    首先生成一个FB块,本例为FB400:
    在静态变量区建立一个结构“T_TSAP“,包含如下变量:
    1) LOC_RACK_SLOT (BYTE)= B#16#2 表示有两个前导字符 0xE0 (CPU31x-2PN/DP 或者 CPU319-3PN/DP规定)和 0x02(CPU槽号)

     本地 TSAP远程TSAP
    ASCIITCP-1TCP-1
    HexadecimalE0.02.54.43.50.2D.3154.43.50.2D.31

    2) LOC_TSAP(STRING14)= 本地用户定义的ASCII字符 (默认 -> 'TCP-1')
    3) REM_RACK_SLOT(BYTE)= B#16#0 不使用两个前导符,只适用于第三方设备!如果是西门子PLC作为通信对象,则需要根据实际情况填写CPU 槽号,例如B#16#2
    4) REM_TSAP (STRING16)= 远程用户定义的ASCII字符(默认 -> 'TCP-1'):



    图 19: 生成T_TSAP结构

    调用FB420


    图 20: 调用FB420

    • ID: 连接ID
    • DEV_ID
    DEV_ID = B#16#1 用于本PLC型号(注意不是通信对方)为 IM151-8 PN/DP CPU
    DEV_ID = B#16#2 用于本PLC型号(注意不是通信对方)为 CPU31x-2PN/DP或IM154-8 CPU
    DEV_ID = B#16#3 用于本PLC型号(注意不是通信对方)为CPU319-3PN/DP
    DEV_ID = B#16#5用于本PLC型号(注意不是通信对方)为CPU41x-3PN/DP
    • ACTIVE: 主动或是被动建立连接, 通信双方必须一个主动,一个被动
    • T_TSAP: 静态变量区的结构变量,用于ISO ON TCP 通信的TSAP地址
    • IP_ADDR1 ... IP_ADDR4: 通信伙伴的IP地址
    • CON_DB:用UDT65生成的变量



    图21: 调用FB65 "T_CON"

    调用FB65 ,通过提供给FB65的输入参数"REQ"一个上升沿来建立连接。 “ID”为连接ID,“CONNECT”参数填写用UDT65生成的变量, 连接建立后会一直保持,直到调用FB66 "TDISCON"断开连接,CPU停止或者断电。

    3.2.3 调用发送和接收程序



    图22: 调用 FB63,64发送接收数据

    FB63 "TSEND" 发送请求依靠输入参数"REQ"的上升沿来实现,如果“BUSY”位为true时不要触发"REQ"。输出参数 "DONE", "ERROR" 和 "STATUS" 用于评估工作的情况。
    FB64 "TRECV" 用于接收数据,EN_R始终为true, “ID “填写连接ID,”DATA”填写接收数据区,输出参数"NDR" 用于表示新的数据已经收到,输出参数"LEN" 表示接收的数据长度。

    3.2.4断开连接
    调用FB66 "TDISCON",“ID “填写连接ID,输入参数"REQ"的上升沿来实现断开连接操作。


    图 23: 调用FB66 "TDISCON"

    2016年是西门子·冯·维也纳老爷爷诞辰200周年,感谢西门子陪我走过了五年。从事这么多年,越来越发现西门子808D用途真的太广泛啦,下面说说我今年用到808D专机项目吧。

    一.应用于坡口机

       我们在北京中电华强坡口机项目中利用808D,原来顾客一直使用凯恩帝等国产系统,在使用坡口机的时候,顾客由于没有受过技术编程训练,而原来的系统不能自己定义宏程序循环,顾客编程很是头痛,这次使用我们西门子自定义的用户循环界面,节省了不必要的编程,只需填写数据,就能自动生成加工程序,效率、稳定性都得到了很大的提升。




    这样顾客只需要填写工艺参数,就能自动加工出程序。

        不过遗憾的是,只能有8个自定义循环的按键可以使用,无法使用更多的,希望西门子能够开发出更多可以使用的界面。

    二、跟长城焊接机的结合。

        下面我要说的是808D与焊接机的结合,原来保定长城一直使用台达的系统,但是由于其他的系统故障率很高,维修不方便,于是改用西门子808D系统,强大的系统,我们事先将程序编写完成,然后操作工只需将工件放到夹具上,系统便可自动根据不同的加工材料,调用相关的加工程序,然后自动加工。

    下图是我们开发的界面。

     1)主界面: 按下操作面板的“用户自定义”按键,进入该界面;该界面可显示个数控轴的坐标,选择的加工程序,加工速度及系统运行状态




    2)程序管理: 按下主界面的“NC”软键,进入该界面;该界面可显示个数控轴的坐标,选择的加工程序,加工速度及系统运行状态


     该界面可实现对工件程序的管理:


    按键

       

    功能

       



    起始点

       

    按下该软键即进入机床起始点的调整设定界面,切切每次要调整焊点,也要进入,否则为安全位置默认为0

       



    上/下一页

       

    可实现程序管理界面的页面调整

       



    修改程序

       

    选中要修改的程序,按下该软键即可进入选中程序的编辑界面

       



    删除程序

       

    选中要删除的程序,按下该软键即可删除选中的工件程序

       



    新建程序

       

    按下该软键,即可进入新程序编辑界面

       



    执行

       

    选中要执行的工件程序,按下该软键即可运行选中的程序

       



    返回

       

    按下该软键,即可返回主界面

     

     3)起始点调整设定界面

    该界面可显示机床各轴的当前坐标及当前起始点设定的X.Y.Z坐标值

     


    按键

       

    功能

       



    确认

       

    将各轴调整到起始点,按下该软键即可将起始点的坐标设定成当前各轴的位置

       



    返回

       

    按下该软键返回程序管理界面

       


      

     4)程序编辑界面



    该界面可实现各个点的试校,显示焊接点。避让点和备用点的个数,设定加工速度

     


    按键

       

    功能

       



    参数参数确认

       

    当所有点试校完成后,按下该软键确认所有点信息

       



    保存程序

       

    确认所有点信息后,按下该软键生产NC加工程序

       



    上/下一页

       

    调整程序编辑界面的页面显示

       



    参数修改

       

    选中要修改的点,按下该软键开始进行选中点的信息修改

       



    返回

       

    按下该软键返回程序管理界面

       


     

    5)新建程序示例

       a.按下“用户自定义”按键进入主界面;

       b.按下"NC"软键,进入程序管理界面;

       c.按下“新建程序”软键,进入程序编辑界面

     


     在进入程序编辑界面之前会有如上图的提示,生成程序前首先要确认起始点设定合适,按下“确认”即可进入程序编辑界面,按下“中断”则可返回程序管理界面,进行起始点设定。

          

            d.按下“K9”键进入试校模式

          e.试校焊接点,将各个轴调整到焊接位置,关闭K8,K11,打开K10,按下K12,试校完成后会有试校完成提示,按下“确认”软键即可完成焊接点试校



    试校避让点,将各个轴调整到避让位置,关闭K8,K10,打开K11,按下K12,试校完成后会有试校完成提示,按下“确认”软键完成避让点试校;

          试校备用点,将各个轴调整到备用位置,关闭K10,K11,打开K8,按下K12,试校完成后会有试校完成提示,按下“确认”软键完成备用点试校;

     

          f.当所有点试校完成后,按下"参数确认",确认所有点的信息


    g.按下"保存程序",生成加工程序;


     h.输入程序名称,点击"确认"生成加工程序;

    6)程序修改示例

       a.按下"用户自定义"按键进入主界面;

       b.按下"NC"软键,进入程序管理界面;

       c.选中要修改的程序,点击"修改程序"


     在进入程序编辑界面之前会有如上图的提示,生成程序前首先要确认起始点设定合适,按下"确认"即进入程序编辑界面,按下"中断"则可返回程序管理界面,进行起始点设定;

     

      d.在程序编辑界面选中要修改的点,点击"参数修改"

               点击"确认"则开始对点信息的修改;

               点击"中断"则放弃对点信息的修改;

      e.将点修改成焊接点,将各个轴调整到焊接位置,关闭K8,K11,打开K10,按下K12,

         修改完成后会有修改完成提示,按下"确认"键完成焊接点修改;


     f.将点修改成避让点,将各个轴调整到避让位置,关闭K8,K10,打开K11,按下K12,

         修改完成后会有修改完成提示,按下"确认"键完成避让点修改;

         将点修改成备用点,将各个轴调整到备用位置,关闭K10,K11,打开K8,按下K12,

         修改完成后会有修改完成提示,按下"确认"键完成备用点修改;

        g.当所有点修改完成后,按下"参数确认",确认所有点的信息;


    h.按下"保存程序",生成加工程序;



    感觉西门子的二次界面开发实在是太强大了,完成了很多其他系统无法实现的特殊功能。感谢这些年与西门子的陪伴成长。

    问题
    在 SINAMICS S120中什么限制会影响轴,怎样评估这些限制?哪些参数会限制速度和加速度?

    答案
    在一个子程序中,输入以下同步动作指令可以决定主轴速度限制条件:

    ID=1 Do $R1=$AC_SMAXVELO_INFO[n]
    n 是轴的编号
    在 R 参数中,R1的值只能在驱动器运行后才能被读取.
     

    Value描述
    0无限制 (SERUPRO)
    1主轴的大转速(卡盘速度)MD 35100 SPIND_VELO_LIMIT
    2该速度在当前齿轮级被限制在大速度之内 MD 35130 GEAR_STEP_MAX_VELO_LIMIT
    3该速度由位置控制限制在MD 35100和MD 35130中的小值的90%之内(SPCON,SPOS,可能还有COUPON…)
    4该速度由位置控制限制于MD 35135 GEAR_STEP_PC_MAX_VELO_LIMIT之内
    5该速度由SD 43220 SPIND_MAX_VELO_G26限制 (G26 S..或者事先由HMI调整)
    6由于设置的VDI DB31,...DBX3.6接口信号,该速度被限制于MD 35160 SPIND_EXTERN_VELO_LIMIT之内
    7该速度被限制于SD 43230 SPIND_MAX_VELO_LIMS之内并伴随着恒切削速度(G96, G961, G962, G97, LIMS)
    8该速度被限制于由安全集成定义的安全速度(SS)之内
    9该速度限制于预先计算
    10通过驱动器参数SINAMICS p1082,被限制在驱动器大速度之内
    11该速度被MD 36300 ENC_FREQ_LIMIT 限定,要求测量系统,例如,主主轴的位置控制和G95, G96, G97, G973, G33, G34, G35 这样的限制顾及了编码器速度,主主轴装置(直接/间接),主主轴限制频率和电流参数设定
    12该速度被轴模式限定。在具有一个同步轴情况下,引导轴强制轴模式
    13跟随轴重叠运动速度由在耦合后剩余动力限制。较大重叠运动的运动部件可以通过减少引导轴速度来实现,例如:通过给引导轴编写程序G26 S, VELOLIM 或者给跟随轴编写程序VELOLIMA。耦合因素也得考虑.
    14引导轴的速度被无动态的跟随轴或者一个高齿轮比例限定
    15当G331,G332攻丝时,主主轴速度限制于MD 35550 DRILL_VELO_LIMIT内.
    16该速度被程序中VELOIM的语句限制
    17该速度被参数限制 $TC_TP_MAX_VELO
    20该速度被NCU连接.
    21该速度被SD43235 SD_SPIND_USER_VELO_LIMIT限制,设备部件限制速度,例如:通过夹具装置,限定卡盘速度


    西门子828D


    http://www.hyzdhxt.com