分享帖X127端口长时间不用,或是处于潮湿的环境中,与电脑连接通讯时有可能会PING不通。可以试着将5000目以上的砂纸折成小条清除网口内部金属导线接触面。砂纸目数越高抛光效果越好且不会破坏表面镀层。
OEE(设备综合效率)即表现设备实际的生产能力相对于理论产能的比率,是一种独立的测量工具,用于监控、评估和提高生产过程的有效性。OEE=时间开动率×性能开动率×合格品率=(开动时间/负荷时间) ×(加工数量×实际加工周期 /开动时间)×(理论加工周期/实际加工周期)×(合格产量/加工数量)= (开动时间×加工数量×实际加工周期×理论加工周期×合格产量)/(负荷时间×开动时间×实际加工周期×加工数量)约去分子、分母的公因子,OEE = (理论加工周期×合格产量)/负荷时间 = 合格产品的理论加工总时间/负荷时间,这也就是实际产量与负荷时间内理论产量的比值。 这里我们采用“OEE = (合格产量×加工节拍)/负荷时间”的简单公式来记录设备每日OEE,来做生产策划评估用。 针对840D sl系统的进口高端数控设备,例如卧式加工中心、磨齿机等高价值机床,利用SINUMERIK OPERATE 的HMI界面开发用户界面,展示并统计设备OEE,后期可通过分析数据来提高设备利用率。 笔者前段开发过S71200产线的OEE统计方法,见西门子S71200自建数据类型统计设备OEE的方法_西门子1200自定义数据类型-CSDN博客,840D sl的PLC为S7-300系列,编程理念与之类似,在此不展开了。 想开发840D sl HMI界面,请翻阅西门子官方文档,需要用到文档《828D_840Dsl_工具_RunMyscreens_例程合集_201906》,以及《RUN MYSCREENS 应用手册》、SINUMERIK Integrate Run MyScreens,经过一段时间摸索,实现了德国利勃海尔LGG280蜗杆磨齿机用户HMI界面开发、设备OEE统计、月度数据表格等功能,如图:该项目在SinuTrain及实际设备上运行通过。 该用户HMI界面包含四块区域,上部包含生产品数/加工节拍/运行时间及设备OEE等数据,并图视化列明计算公式;左下半部包含单日加工效率/待料/暂停及故障比例(包含进度条);右下半部统计单日产量/月度产量/年度产量/总产量;最后下部设定班次时间,即当日OEE统计时间段。下面介绍下开发过程:首先,我们要设计一个用户界面入口,如下图:笔者设计从主菜单“诊断”进入二级菜单,然后由“OEE_Data”进入用户界面,一、入口文件编写 首先,我们要知道设备HMI是基于Linux还是Windows系统,入口文件存储位置及优先级不一样,见下图:以及文档类型、扩展名、保存路径: 知道了文档位置及名称,我们直接在840D sl的PCU里查找(windows),该机床的easyscreen.ini文件存放在C:\ProgramData\Siemnes\MotionControl\oem\sinumerik\hmi\cfg下(设备制造厂商的配置文件一般放置在oem目录),我们打开它:我们设计从主菜单“诊断”进入二级菜单,因此留意StartFile04=area:=AreaDiagnosis,startfile:=param.com这句,知道了启动文件为param.com,因此回到C:\ProgramData\Siemnes\MotionControl\oem\sinumerik\hmi\proj目录下找到param.com文件,并用notepad打开:1、增加一句“ HS7=([\\HD_OEE.PNG,Data],ac7,se1)”,释义:水平第7按键(原空白)增加OEE图标及“Data”文字,效果如下:2、增加PRESS的方法,如下图,释义:按动水平第7按键,调用CUSTOM.COM文件中的“OEE”界面。3、文件修改好后另存在C:\ProgramData\Siemnes\MotionControl\user\sinumerik\hmi\proj,根据优先级,HMI启动后会调用user目录下的param.com文件,而忽略oem目录下的param.com文件,这样既有修改又有备份的作用。 如上,我们就建立了从“诊断”主菜单进入二级菜单,二级菜单第7按键显示“OEEdata”的界面入口了。二、界面(Mask)文件编写 本步骤建立界面(Mask)文件。1、用notepad新建CUSTOM.COM文件,并打开、编写:在“//M{OEE,HD=OEE数据LGG280,HD_AL=0,HLP=OEE_DIS_LH901.png,HLP_X=3,HLP_Y=10}”定义句中,定义了Mask的名称OEE,与前面param.com文件中的 “LM(OEE,CUSTOM.COM)”相呼应。2、定义变量的数据类型、位置、格式等,具体定义方法见《RUN MYSCREENS 应用手册》3、定义下一界面“生产数据”(Mask2),以及列表“生产数据”界面的效果如下:4、将CUSTOM.COM文件保存在C:\ProgramData\Siemnes\MotionControl\user\sinumerik\hmi\proj下。 以上完成了HMI界面的开发,下面需要把需要的数据计算及统计展示出来,我们将要通过PLC编程计算与统计相关数据。三、PLC编程及数据记录 1、每日生产数量计数:加工程序合适位置增加语句,通过用户变量R500计数(一定要注意,不要与设备加工程序使用的变量冲突,如加工程序在进给程序段中也使用了该变量,有可能带来撞机危险),该数据同时通过$A_DBD[500]与PLC交换数据 。2、打开STEP7 V5.6,编写程序FC块(OEE计算)、DB块(月度记录)等,并在OB1中调用:每日数据记录:按月记录,每月1日清零,当日按日期记录各数据入DB块相应地址,并且在HMI上展现,需要用到32位指针以上是整个开发流程,欢迎大家交流。附图为机床运行实际效果:
伦茨 smc 施耐德 正泰 汇川 西门子 常用表格等通过网盘分享的文件:宏文件库链接: https://pan.baidu.com/s/1U9qS2eFkmSjOGHu1AcPmRQ?pwd=qr74 提取码: qr74
1.组态时ET200sp子站模块总有个别的模块报红,或者连接不上,型号,电源都检查了,什么问题都没有,但就是连接不上啊,后来到柜子里一看,最后发现是模块安装问题,没有连接严实,哎,真是无奈啊,西友们遇到过么
头一次接触科尔摩根S300系列伺服驱动器,遇到伺服驱动器上反复出现-S-和n10交替闪烁的报警,伺服电机无法动作,开始以为是程序卡BUG还是触发到哪个硬件限位开关,经厂家指导后先后断电重启伺服驱动器24V电源和S7-1500plc开关电源后,伺服报警仍然存在。 将伺服电机拆下脱离负载后,伺服电机轴可以灵活转动,负载轴端也没有明显卡阻,稍微查了下两个故障代码对应的解释描述如下:-S-. :使能没有接上,开始以为是普通使能信号,后来才知道是-S-为AS/STOEnable安全使能输入为0V的状态提示n10:硬件限制开关PSTOP既然使能没有使上,就去查PLC输出模块的输出,有使能信号输出,测量电柜接线端子使能信号和0V之间也有24V的电势差,感觉可能是电柜和现场伺服驱动器电箱电缆线路出现接触不良等问题,于是重新拉了条4芯带屏蔽控制电缆,从电柜端接到伺服驱动器相应使能端子和0V端子,试机仍然无法带动伺服电机旋转,伺服驱动器小屏上仍有-S-的报警。 后来在百度和西门子找答案上(感谢zhangli大神的解惑),确认了-S-是AS/STO enable输入为0V没有使能上,遂根据伺服驱动器的外部端子电气连线图,发现AS-enable外部接线是电柜电源401后经现场S32急停按钮形成供电回路,检查急停开关没有人为拍下去,急停开关后带两对常闭NC触点,一路24V经其中1对NC后反馈进入PLC输入点位,一路24V经常闭触点后反馈进AS-enable使能,当时观察S32急停按钮输入信号亮绿灯正常,急停开关也没有拍下去,理所当然认为不是急停这里的问题,后面又去排查中间线路和端子排,中间也是折腾浪费比较久时间。后来才想到去彻查这个AS-enable这一路急停的NC触点,不用电表测不知道,一查发现出不对劲:触点上端对机壳测量电压+8.5V左右触点下端对机壳测量电压-5V左右因手头无常闭触点备件可替换,于是把这一路NC触点下面的线拆出,并到上面的触点接线端里。伺服驱动器24V断电重启后,-S-.报警终于消失了 经过这次故障的排查分析,也对这个伺服驱动器AS-enable(安全使能)和enable(驱动动力使能)的功能和区别产生了兴趣,也收集了一些网上资料,跟大家一起分享 在伺服驱动器的控制信号中,?AS-Enable? 和 ?Enable?(通常标记为 ENA 或 Amplifier-Enable)是两个密切相关但功能层级不同的使能信号,它们的协同工作对系统安全和稳定运行至关重要。(简单比喻)可以将AS-Enable想象成?燃气灶的总气阀?,而Amplifier-Enable则是?点火开关?。你必须先打开总气阀(AS-Enable),然后才能点火(Amplifier-Enable)让灶台工作。如果总气阀没开,点火开关再操作也没用;如果点火开关没开,即使气阀开着,灶台也不会燃烧。总结?AS-Enable? 是?安全供电使能?,是驱动器工作的?前提条件?。?Enable (Amplifier-Enable)? 是?运行动力使能?,是电机?实际转动的直接指令?。两者必须按正确的时序(先AS-Enable,延迟50-100ms后再Enable)配合使用,任何一方的信号异常、接线错误或时序混乱,都可能导致伺服系统无法运行或触发安全报警。?
一些软件在安装前是要求先安装环境包,再安装软件包。刚好在使用Unified组态仿真过程中遇到了点问题,作为经验分享给各位工程师。官方链接:https://support.industry.siemens.com/cs/document/109773589在工程计算机上安装 SIMATIC WinCC Unified PC Runtime 或 SIMATIC WinCC Unified PC 的仿真或 SIMATIC HMI Unified Comfort Panels 的仿真,则必须在安装之前激活相应的 Windows 功能。按照以下步骤激活这些功能。1、在 “控制面板” 中,打开 “程序” 类别。2、单击 “程序和功能” 下的 “打开或关闭 Windows 功能”。3、激活以下选项并用 “OK”(确定)确认。
FC21在换刀PLC中的妙用我们经常在高人编的PLC换刀程序中看到如下程序,新手小白对此是一脸蒙,不知所云,也痛快的放弃了,其实这段程序才是换刀程序的精华所在,只要你理解了它所代表的意义,你对换刀理解了大半。你至少成了半个高手了。CALL FC21Enable :=TrueFunct :=B#16#4S7Var :=P#DB72.DBX24.0 WORD 4IVAR1 :=100IVAR2 :=-1Error :=#ErrorErrCode :=#ErrorCode大家对FC21都有所理解,不多说,直接说干的。1、Enable :=True 使能一直为12、Funct :=B#16#4快速数据交换,写入(把PLC数据写入NC)3、S7Var :=P#DB72.DBX24.0 WORD 4源数据区(针对 Funct := 4)。这句才是这段程序的核心。意思就是把换刀数据库中从DB72.DBW24、DB72.DBW26、DB72.DBW28及DB72.DBW30 共四个整数传给NC。而这个数代表如下含义:DB72.DBW24:新刀刀库号(T码新刀刀库号大部分是1)DB72.DBW26:新刀刀位号(T码刀套号)DB72.DBW28:旧刀刀库号(主轴刀库号9998)DB72.DBW30:旧刀刀位号(主轴刀套号)4、IVAR1 :=100偏移(NC的偏移量,这里写的100. 第一个数就对应$A_DBW[100]。如果写1000,第一数就对应$A_DBW[1000]。我们在NC中就可以得如下:$A_DBW[100]:新刀刀库号$A_DBW[102]:新刀刀位号$A_DBW[104]:旧刀刀库号$A_DBW[106]:旧刀刀位号其它行不说,说了也没意思。我们在随机换刀时,备刀时,如果刀对刀或者主轴无刀。我们在NC程序中写:H1=$A_DBW[102]刀库就会把新刀的刀套号转到当前的换刀位。如果T0 或者固定点换刀。需要先把旧刀还回。我们在NC中写:H1=$A_DBW[106]我们在固定点换刀或还刀时,备刀时,刀库就会把旧刀的刀套号转到当前的换刀位,以便于把旧刀还到固定位置。明白了吧!是不是有晃然大悟的感觉!呵呵!补充一点:在PLC中 把 DB21.DBD142 转化成整数再传给目标刀位。刀库一转,一切大成!
前些天同事处理了一台主轴电机编码器坏了的故障。他是按照上面的进行屏蔽的。屏蔽后在低档转了一下没有问题,因为当时客户没用到高档。没有几天等客户用到高档时,主轴换档都没有问题,就是转高档时速度只有几十转。一开始他们以为高档信号有问题,查来查去没有结果,等我到了现场检查高档信号没有问题呀!我就开始检查他们改的参数,看到P1100的5号位没有改为:1我改为:1后再试还是速度上不去,再检查其他参数,1100他们设为了:8000HZ看到这个参数我产生了疑问,我记得我之前屏蔽时是改的:4000HZ,于是我先改为4000HZ试试吧。结果改为:4000HZ电机速度立刻上去了,高低档都试了一下一切正常。
我们做过二次画面的简单应用,就是把机器的一些信号放到画面,一是让为了让维护能快速查看,二是让客户能把画面发给我们判断问题,有些客户不是太懂。之前我做的画面没加入颜色处理,画面不是太美观。//S(Start)HS1=(主菜单)PRESS(HS1)LM(MASK1)END_PRESS//END//M(MASK1/调试强制/)DEF Var1=(B/*0=OFF,1=ON//,五面体调试允许,,/wr2//M88.7/5,20,180/125,20,30,//),DEF Var2=(B/*0=OFF,1=ON//,头罩前位I6.0,,/wr1//I6.0/5,40,180/125,40,30,//),DEF Var3=(B/*0=OFF,1=ON//,头罩后位I6.1,,/wr1//I6.1/5,60,180/125,60,30,//),DEF Var4=(B/*0=OFF,1=ON//,直角头前位I6.2,,/wr1//I6.2/5,80,180/125,80,30,//),DEF Var5=(B/*0=OFF,1=ON//,直角头后位I6.3,,/wr1//I6.3/5,100,180/125,100,30,//),DEF Var6=(B/*0=OFF,1=ON//,头库门开I6.4,,/wr1//I6.4/5,120,180/125,120,30,//),DEF Var7=(B/*0=OFF,1=ON//,头库门关I6.5,,/wr1//I6.5/5,140,180/125,140,30,//),DEF Var8=(B/*0=OFF,1=ON//,头罩原位I7.0,,/wr1//I7.0/5,160,180/125,160,30,//),DEF Var9=(B/*0=OFF,1=ON//,直角头原位I7.1,,/wr1//I7.1/5,180,180/125,180,30,//),HS1=(调试强制)HS2=(测量选择)PRESS(HS2)LM(MASK2)END_PRESS//END因为我当时还不知道怎么样来改变当有信号为:1时,颜色变绿。经过一段时间后感觉画面还是不理想,决定研究一下来改变颜色,网上找相关资料也没找有能帮助的。手册上也有:CHANGE(VAR1)..........END_CHANGE到底中间加什么还是不知道。今天终于有了结果分享出来:就是在//END_PRESS//END中间加入以下内容:CHANGE(VAR1) IF VAR1.val==0 VAR1.bc=9 ELSE VAR1.bc=3 END_IFEND_CHANGE其中9,3系统颜色参表里有。
应坛友要求,再次上传828D的toolbox,其实每次上传都选择的是无限期下载,但过一段时间无法登录了,由于要求软件的人多,所以单开一贴!通过网盘分享的文件:Toolbox DVD 828D V04_07_02_01.rar链接: https://pan.baidu.com/s/15xR4v9YHOP1025z396ifrw 提取码: hpfa。
单位接到一个改造项目,控制系统是300PLC,已经运行10多年了,这次改造没有什么技术含量,就是一次系统搬迁,把10个控制柜进行一下位置重新摆布,纯纯的体力活。意外还是不出意外的发生了,一切搬迁工作结束,上电启动PLC,发现多个传感器信号全部异常,坏了,沾包了。。施工人员查线查了3天,毫无头绪,就很奇怪,线拆下,做好标记,又按原样接回去,没有什么任何的偏差,为什么就是不好用呢?没办法,只能找到我去现场,我一开始觉得甲方可是央企,做的系统绝对不能是小作坊给做的,不可能那么烂的,小问题,结果一到现场当时就蒙了,现场10多个控制柜,就可以知道这个是很多点的控制系统呀,图纸拿来,图纸非常的专业,10多年前,大连新华做的,当时做这套系统的人,现在都是妥妥的行业大佬了,结果意外不出意外的发生了,打开图纸,打开控制柜,哈哈,果然不出所料,完全对不上了。。10多年经过无数次增点,工艺流程修改,但是图纸一点没变,还是10多年前做的非常漂亮的一本图纸,根本没有一点更新,哎呀,当时我就呆坐现场,手里拿着图纸,眼睛看着闪着光的300PLC,久久无法释怀,我怎么又遇到这种情况了。10多分钟后,我拿出一张A4纸,问甲方的维修人员要了一支笔,就开始我20多年职业训练的技能,看柜子反画原理图。甲方的人很不屑的看着我,后来才知道,这几个传感器信号已经坏了2,3年了,历经多次改造都没有人解决,找了多少人赖上都没解决,都是因为图纸对不上不敢动手,做做样子就草草认怂了。我呢,20多年从事西门子PLC项目的全过程管理,从图纸到程序,全是手工,从入行的第一天,带我的大佬就让我看硬件选型,接线,画原理图,最后才是软件组态,PLC编程,PCS7的功能块仿写到300PLC中作为标准程序的事都一直干,用STEP7+winCC仿造是PCS7编的项目也干过,反正就是我遇到总是那种一辈子只能遇到一次的问题,解决了没人会觉得你怎么样,因为没有机会再次解决,你要知道那种很棘手的问题,你因为解决过,到现场看一眼就解决了,一下就给人一种大佬的感觉,我一直没机会体验,所以一直都是一个小卡拉米。言归正传,排除故障第一步我认为就是最朴实无华的步骤,安排工人查线,以前在系统集成商的时候,总是自己亲自查线,现在不一样了,我就指挥查线,4个人,对讲机配合,前后对照,查完以后,线没问题,然后信号为什么就没过来呢。。第二步,排查是否断线,拆线头,也没问题,第三步,拆传感器,光电传感器,原理就是一个三极管,用一点基本的电工电子技术发现问题所在了,有坏掉的,有不会接线,接错线的,还有线泡雨里虚短的。。这些基本工作的前提还有一步就是把这些传感器的PLC的点位和wincc的点位都查出来对应上,然后,维修结束,上电跑程序,全部OK了,解决这些光电传感器的问题,就剩最一个最麻烦的问题,就是现场拉绳开关信号不起作用了,这个问题就是甲方无赖,他们的领导不出面,然后,下面的人咬死说是改造前是好用的,改造后就不好用,就非要我们解决。。后来解决了,甲方的领导冒出来了,说些漂亮话,说我们本来就是一个普通的改造,怎么还赠送这些附加服务,给一个赞。书归正传,拉绳开关是一个重要的应急控制信号,原理很简单,但是确实控制系统里最重要的一个信号,作为一个自动化工程师,在设计控制系统的时候都是要考虑好的,现场是防爆环境,更是一个要命的保障环节呀。。但是不知道为什么坏了2,3年没人处理掉,也许是确实解决不了,也许是现场管理制度的作用,保证了并没有出事情。但是无论什么原因,既然遇到了就是要解决掉,一个很简单的原理,为什么就没人解决呢?我当时就陷入沉思,不可能呀,点位都找到了,线一大捆,原来就出在一大捆线,根本没人在没有图纸的前提下,去一根一根找出控制线,好吧,我也不愿意拆开线去找,于是乎就开始僵持住了,我的3天原则,就是一个问题,如果自己在3天内解决不了,那么就必须请人介入,换换思路,自己的思维已经无法创新了,所以1天过去,第2天早上灵感来了,通过一个想法,去现场验证一下,果然是这样的,这个信号经过几道转换,不清楚,发现在相隔2排的控制柜里,找到那几个关键的继电器,从而证实了,为什么控制信号不起作用的原因。。然后研究继电器,这个继电器上面的点全满了。。怎么回事呢?说明拉绳信号关联了多个程序,这个问题也许复杂也许简单,最后,发现原来拉绳控制的是继电器线圈,并且L+和M接反了,当然设计这个控制信号的人,把M点作为无源线传到防爆环境的现场,L+因为有源,所以留在控制柜内,因为一般控制系统的设计思路都是L+去现场,最后,喊来甲方的维修人员,故弄玄虚的说,你按照我讲的,试一试,把线重新改一下吧,结果见证奇迹的时刻到了。成功了,4个拉绳信号有2个信号正常了,后来证实另2个拉绳信号是因为现场的拉绳开关坏了,后来更换以后也恢复正常了,从那以后,公司的名气打出去了,我因为是临时拉来帮忙的,现场的人根本不知道我这个人的存在,只是说我们公司在外面花大价钱找了一个人过来,给鼓动好了,我还是继续当那个卡拉米。。
快递查询:请用“预留手机号”的微信-绑定中通快递,即可接收物流单号
西门子KP1200 Comfort趋势视图无法显示的故障排除 该屏最早是设备制造商用protool软件编辑,我通过几次移植,最后移植到wincc flexible 2008 sp2这个版本,由于硬件的更新,我将该程序移植到protal V13这个版本,最终移植到protal V15为止。因为新工艺要求新增加设置和显示内容,我将原来备份以后的原程序压缩,通过微信方式传送到新电脑上,再解压在protal V15版本上打开,打开后,编译没有报警。只是新增加的内容编译下载后,原来2排功能按钮的下一排缺失,之前,我也有过类似的经历,主要原因是在移植过来打开前没有“选项”下拉菜单“设置”窗口的“可视化”,“调整画面大小”选择“适应画面”的选项。主要原因是原屏与新屏的尺寸不同,造成的部分尺寸被溢出区域显示。于是,删除通过微信传送过来的原程序后,在protal V15版本的“选项”中选择“适应画面”选项后,重新复杂压缩以后程序文件,再次打开编译,仍然没有错误。我在发现这个问题后,发现编译没有报警,且编辑区显示有2排按钮区也是能够正常显示的,但是,通过模拟仿真也可以看到屏幕下侧确实是缺少下面的那排按钮是缺少的。这个问题应该是通过多次压缩,解压缩和电脑本身自带的病毒引起的内部文件破损引起的。问题找到了后,选择“适应画面”方式打开原程序,再次下载到KP1200 Comfort,键屏下面的那排按钮是出现完整了。在下面那排按钮显示缺失时,**作过实体屏,功能是存在的,只是没有显示按钮。但是,当我切换到趋势视图时,方向趋势视图的时间是在1999.1.1这个时间,难道我的区域指针或者plc侧的系统时钟程序有问题了?返回到414-2dp,看读取系统时钟的程序依然是存在的,年、月、日字节数据存放在MW502开始的连续6个字节也没有问题,返回到触摸屏用户程序,打开“连接”选项后,果然发现没有了之前的正常设置,图示: 重新将“日期/时间”勾选上,并按plc侧的系统时钟数据变量锻造输入MW502,编译保存下载,此时,趋势视图显示仍然没有,确认此时的趋势视图的趋势变量连接是有数据的。重新核实趋势视图的各参数,当核对到X轴参数时,发现多了这个“外部时间变量”的选项,图示: 关闭此选项后,再次编译保存下载,此时当趋势视图数据出现时,趋势曲线显示才正常。小结:造成这个问题的原因应该是电脑中过病毒后,原来保存的那些原程序,可能会被病毒自动修改,用户一旦遇到类似的情况,只能根据实际情况逐个修改,开始看到按钮显示缺失时,曾一度想在画面模板上删除不正确显示的那部分按钮,重新创建的,因为按钮个数实在是太多了而暂时放弃,如果走删除重建应该也是能够解决这个问题的。建议用户程序的备份,还是多备份到各种存储媒介中,预防万一。正如我前一段时间的电脑电源板烧掉,就是一次警告,虽然最后还是修复了电脑,将需要的用户程序还原出来了,一次因电脑病毒,后台“自动”修改用户程序的故障排除结束。
0博图全家桶虚拟机,VM虚拟机17.6.3及以上版本都可以用链接:https://pan.baidu.com/s/1aR7iGn3m9UH2wtibUYPZTA提取码:1101求加精
博途V20触摸屏TP1200仿真时 与现场PLC远程连接 屏幕数据半天没反应。刚开始的时候以为是现场的信号不好导致数据传输卡顿,可是我把触摸屏仿真软件最小化去打开网页查资料的时候发现电脑卡的不行,网页打半天打不开,打开后切换网页也要切换半天。后来我把触摸屏仿真关了,一切正常了。于是我开始软件的问题,以为这是V20的bug,去交流群里咨询描述问题现象,发现别人没遇到过,最搞笑的是说我的电脑不行了该换个新电脑了。
大家日常工作中使用过哪些实用的软件小工具?欢迎分享。使用过一款DeskPin的小软件,可以将某一个窗口“钉”在屏幕上一直显示。举例:在WINCC运行全屏显示的时候,可以打开某个程序块钉在屏幕上监视变量动作,避免频繁切换查看程序效果。
现场遇到这样一个问题,西门子精智面板TP700下载提示:加载期间出现,发生通信错误(8020AB001992FFF4),用Prosave做OS更新、恢复出厂都没有问题,下载画面就提示出错,博图用的是V18版本。我下载的映像是109825750_ComfortPanels_V17.0_Upd6.zip看下载的映像版本是V17.00.00.06_03.01后面下载了新的109825750_ComfortPanels_V17.0_Upd8.zip映像版本是V17.00.00.08_05.01OS更新后,下载画面就正常了,推断可能HMI的固件版本与博图(TIA Portal)版本有兼容性,建议下载新的映像版本更新再下载画面。 参考这个分析:https://ask.csdn.net/questions/8543611 精简精智屏映像文件 官网下载地址:https://support.industry.siemens.com/cs/ww/en/view/109825750
有坛友问,没有808调试手册,调试以哪个手册为准,808调试手册有的,只是久了,不好找,我找到了,这里上传,请尽快下载!808调试手册.pdf
最近组里来了个新同学,特有冲劲儿,但查日志那架势…真是让我开了眼。那天他写的功能在测试环境跪了,钉钉告警“叮叮当当”就冲进了群。我正好闲着呢,心想顺手帮个忙,还能展示下老同志的温暖,就溜达过去瞅了瞅。好家伙,这一瞅可不得了——只见他对着终端翻来翻去,日志一行一行地滚,眉头越皱越紧,那专注的劲儿,仿佛在字里行间寻找什么失落的人生密码…我憋了半天,差点没忍住:“哥们儿,你这哪是查日志啊,这简直是在跟日志‘长相厮守’啊!”来看看他是怎么查日志的他先敲了一句:```tail -f a.log grep java.lang.NullPointerException```想着等下次报错就能立刻看到。等了半天,终于蹦出来一行:```2025-07-03 11:38:48.339 [http-nio-8960-exec-1] [47gK4n32jEYvTYX8AYti48] [INFO] [GlobalExceptionHandler] java.lang.NullPointerException, ex: java.lang.NullPointerExceptionjava.lang.NullPointerException: null```我看不下去了,提醒他:“哥们儿,你这样翻是看不到完整堆栈的啊!”他“噢~”地一声,仿佛顿悟了,反手就用 vi 把日志文件全打开了,开始 * /NullPointerException * 搜索关键词,然后一下一下按* n* 往后跳……半分钟过去了,异常信息还是七零八落没找全。我在旁边看得心急如焚,都快给他跪下了。实在没忍住,我当场就给他秀了一套我压箱底的“查日志组合拳”,手把手教他怎么定位、怎么过滤、怎么追踪。他眼睛一亮,当场顿悟,连连说“妙啊”,还求我写成文章:“我前同事也这么查日志的,我得发给他拯救一下!”既然如此,我就把这几招也分享给你。下次查日志的时候,说不定也能让你身边的同事眼睛一亮。正式教学核心的工具其实还是 grep 命令,下面我将分场景给你讲讲我的实战经验,保证你能直接套用!场景一:查异常堆栈,不能只看一行!Java 异常堆栈通常都是多行的,仅仅用 grep NullPointerException 只能看到最上面那一行,问题根源在哪你压根找不到。这时候使用 **grep** 的 **-A** (After) 参数来显示匹配行之后的N行。```# 查找 NullPointerException,并显示后面 50 行grep -A 50 java.lang.NullPointerException a.log```如果你发现异常太多,屏幕一闪而过,也可以用less加上分页查看:```grep -A 50 java.lang.NullPointerException a.log less```在 less 视图中,你可以:使用 箭头↑↓ 或 Page Up/Down 键来上下滚动输入 G 直接翻到末尾,方便快速查看最新的日志输入 /Exception 继续搜索按 q 键退出这样你就能第一时间拿到完整异常上下文信息,告别反复 vi + / 的低效操作!场景二:实时看新日志怎么打出来的如果你的应用正在运行,并且你怀疑它会随时抛出异常,你可以实时监控日志文件的增长。使用 tail -f 结合 grep:```# 实时监控 a.log 文件的新增内容,并只显示包含 java.lang.NullPointerException 的行及其后50行tail -f a.log grep -A 50 java.lang.NullPointerException```只要异常一出现,它就会自动打出来,堆栈信息也一并送到你面前!想停下?Ctrl + C想更准确?加 -i 忽略大小写,防止大小写拼错找不到看到这儿,我相信你已经摩拳擦掌了,戳这里有很多机会哦——大厂场景三:翻历史日志 or 查压缩日志服务器上的日志一般都会按天或按大小分割并压缩,变成 .log.2025-07-02.gz 这种格式,查找这些文件的异常信息怎么办??? 查找当前目录所有 .log 文件:```# 在当前目录下查找所有以 .log 结尾的文件,-H 参数可以顺便打印出文件名grep -H -A 50 java.lang.NullPointerException *.log```其中 -H 会帮你打印出是哪个文件中出现的问题,防止你找完还不知道是哪天的事。?? 查找 .gz 文件(压缩日志):```zgrep -H -A 50 java.lang.NullPointerException *.gz```zgrep 是专门处理 .gz 的 grep,它的功能和 grep 完全一样,无需手动解压,直接开整!场景四:统计异常数量(快速判断异常是否频繁)有时候你需要知道某个异常到底出现了多少次,是偶发还是成灾,使用 grep -c(count):```grep -c java.lang.NullPointerException a.log```如果你要统计所有日志里的数量:```grep -c java.lang.NullPointerException *.log```其他常用的 grep 参数:比如:```grep -C 25 java.lang.NullPointerException a.log```这个命令就能让你一眼看到异常前后的上下文,帮助定位代码逻辑是不是哪里先出问题了。转载:作者:阿杆来源:稀土掘金
一台315-2DP CPU断电重启后,STOP灯亮,但点触摸屏上的控制按钮,无反映,因维修人员拨着CPU的开关,再拨CPU运行开关到运行位置,CPU变成RUN,但还是不能启动。 开始怀疑是卡里面的程序掉了,找来程序和编程电脑后监控,没有发现卡里面的OB1等程序块,只有SFC等系统功能块。重新下载程序提示错误,程序没有下载成功。 后断电,将卡拔出擦擦金手指,再重新插上恢复正常。分析因时间长了导致该卡接触不好,产生故障,重新插好后恢复正常。只是这类故障如果没有编程电脑,一时还无法判断具体故障,因此折腾了一个多小时。
正常使用的电脑IP协议地址一般都是自动分配的。调试时应先调试PLC,通过网线,点击搜索兼容的设备,找到后点硬件MAC可以下载,这个时候电脑会被自动匹配一个IP地址使得电脑和PLC在一个网段里,按照提示就可以下载程序了,最后选择运行PLC。之后下载触摸屏程序,这个要在触摸屏上电后立即点住屏幕(未进入演示程序画面前),选进入系统设置,修改地址和触摸屏程序中设置的一致,下载后就可以了。
听说最近技术圈流行一种“职场求生术”:把代码写得亲妈都不认识,就能保住饭碗。朋友们,这哪是防御性编程啊,这简直是给自己挖了个祖坟级的坑!传统意义的 “防御性编程” 是说采取一些预防措施来确保代码的稳健性和可靠性,最近两年,网上讨论 “防御性编程” 的声音多了很多,但是这里大家讨论的 “防御性编程” 可不是传统意义上的概念,简单地说,就是写一些 “别人看不懂,只有自己能看懂,甚至自己也看不懂,只有机器能懂” 的代码。大家的想法大概是这样的:如果哪天自己被裁了,公司也难以快速搞懂这些代码,相当于留了个 “后手”。那些年,我们亲手埋的“雷”软件开发的圈子远比想象中紧密。一次不负责任的代码实践,可能在几年后的面试中成为你无法逾越的障碍。真正的技术专家通过Git提交记录来识别同行的专业水准,而不是通过简历上的华丽辞藻。在商业环境中,可维护性差的代码直接转化为团队效率低下、bug频发和交付延期。当产品因此失去市场竞争力时,整个团队都会成为裁员的考量对象,无论其中是否包含“不可替代”的迷宫建造者。企业的决策往往是系统性的,而非个体性的。当你把代码当人质,其实你是那个被绑的你以为你在增加不可替代性?醒醒!你只是在给你的职业声誉做“负向增值”。下次面试,潜在雇主看到你GitHub上那些像密码学论文的代码,只会默默点下“拒绝”。技术圈子小得跟小区广场差不多,你那些“杰作”可能比你先拿到offer。在技术快速迭代的今天,唯一持久的竞争优势是学习能力与专业精神的结合。恶意编写混乱代码的程序员,实际上在为自己的职业道路铺设荆棘。精明的工程师明白,真正的“防御性编程”不是让代码难以被他人理解,而是让代码的价值难以被替代。他们投资于可读性、可维护性和可扩展性,因为他们深知这些品质在技术债务累积时会成为稀缺资源。你的代码是你的专业名片,也是你的职业遗产。它应该讲述一个关于严谨、清晰和创新的故事,而不是一个关于恐惧和防御的寓言。在数字世界里,最坚固的职业防御不是制造迷宫,而是建造他人愿意保护并引以为傲的城堡。真正的“铁饭碗”编程指南对于独立开发者而言,真正的“防御”是建立一个正向循环,让你的专业价值随时间增值,而非损耗。我们只有成为系统的“活文档”与设计灵魂,编写清晰的、解释“为何如此设计”的架构文档。记录关键的技术决策与业务权衡,这不仅能赋能团队,更是你系统性思考能力的体现。与制造混乱相反,致力于设计模块职责单一、接口定义清晰的系统。优秀的架构能降低他人的协作成本,使团队能在你搭建的可靠基础上高效开发。这种降低复杂性的能力,是市场上稀缺的高级价值。讲在最后,与其建造一座困住自己的迷宫,不如打造一座人人愿意驻足和维护的灯塔。这才是独立开发者面向未来的、真正的“机-会”。版权声明:本文为CSDN博主「代码掌控者」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/yangshuquan/article/details/140876169
应坛友要求,上传840C相关资料,840C太老了,我手里的资料保存也不多了,找了一下,就找了一点关于接口信号的,有需要的下载好了。840C.zip
分享一下之前的调试经验,希望能够帮助大家,这里先简单介绍一下硬件组态与IO映射,当做好IO映射后,我们就可以将其中一台机床PLC数据块的数据传递到另一台机床的PLC数据块中。一、 元件作用PN/PN Coupler用于:l 使用系统冗余S2互联两个PROFINET子网l 互联两个以太网子网l 交换数据l 与多达4个IO控制器共享或耦合数据二、 硬件连接通过PN/PN Coupler连接2台机床的PROFINET总线三、 硬件组态以对置镗铣床DZ-THG6916(辅机端)为例:首先在项目-设备组态-右侧硬件目录中搜索COUPLER与NCU1740找到相应硬件,拖动到左侧网络视图中,点选PN/PN Coupler X1接口,右键分配新的IO控制器,X1接口配给主机X150,同理X2接口分配给辅机X150配置后未分配变成多重分配:点选PN/PN Coupler X1模块,在下方的常规-模块参数-转换映射中设定相应IO映射:传输区:自己定义名称,此例中为划分IO设为1-60类型为IN/OUT,I/O长度分别设置为240字节,I/O地址以10000为起始,同理设置X2接口此例设置完成后:
AI小西的风格改变了,真不错。今天一打开AI小西,就发现布局发生了改变。增加了产品选择窗口。可以更快速的帮助查找问题及答案。测试了一下,挺方便的。
设备维护过程中程序维护的乐趣在于程序设计的小问题在争论中把程序修改完善了
各位坛友: 值此2026新年来临之际,祝各坛友事业兴,调试顺利,参数生效,故障清零,项目圆满!愿所有坛友技术精进,同仁协作,共筑自动化新篇!祝 新年好!