Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

前一期介绍了机器人数控机床上下料例行程序的编写,但是,也只是编写了机器人的运动程序,并没有进行信号逻辑控制程序的编写。本期,就来为大家介绍一下工作站信号控制逻辑的编写。

概述

机器人例行程序的控制逻辑主要是在Main主程序中完成的,同时在每一个子例行程序中也要对各自的控制信号进行逻辑控制,比如机器人自动给料装置抓取工件例行程序中需要控制抓手工具抓取工件、输送带放料例行程序中需要控制抓手放下工件等。当然,在主程序中还包括前台与后台运行程序的信号逻辑交互。

数控机床后台运行程序

数控机床后台运行程序没有改动,这里不再过多介绍。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

完整程序代码如下。

MODULE MainModule	PROC main()		WHILE TRUE DO            IF RM_C=1 THEN!循环扫描数控机床加工控制信号是否为1,若为1,则向下执行;若不为1,则继续扫描                Set VM_D_C;!置位数控机床防护门控制信号为1                WaitUntil VM_D_R=1;!等待数控机床防护门反馈信号为1                Set VM_F_C;!置位数控机床法兰旋转控制信号为1                Set VM_FD_C;!置位数控机床进给机构控制信号为1                WaitTime 5;!等待5s,用以模拟数控机床加工时间                Reset VM_FD_C;!复位数控机床进给机构控制信号为0                WaitUntil VM_FD_R=1;!等待数控机床进给机构反馈信号为1                Reset VM_F_C;!复位数控机床法兰旋转控制信号为0                Reset VM_D_C;!复位数控机床防护门控制信号为0                WaitUntil VM_D_R=0;!等待数控机床防护门反馈信号为0                Reset RM_C;!复位数控机床加工控制信号为0            ENDIF        ENDWHILE	ENDPROCENDMODULE

自动给料装置后台运行程序

自动给料装置后台运行程序做了一些修改,增加了自动给料装置A、B交替运行参考标志可变量reg10的声明,并对自动给料装置A、B交替运行标志flag4、flag5的赋值运算重新定义,同时修改了信号控制逻辑。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

完整程序代码如下。

MODULE MainModule    PERS num reg10:=0;!声明整型可变量reg10,初始化值为0,作为自动给料装置A、B交替运行参考标志,并与前台程序进行数据交互    VAR bool flag4:=FALSE;!声明布尔变量flag4,初始状态为FALSE    VAR bool flag5:=FALSE;!声明布尔变量flag5,初始状态为FALSE	PROC main()		WHILE TRUE DO            flag4:=RWA_C=1 AND RWB_C=0 AND reg10>=0 AND reg10<=2;!对自动给料装置A工件生成控制信号、自动给料装置B工件生成控制信号、自动给料装置A、B交替运行参考标志做逻辑“与”运算,若RWA_C为1且RWB_C为0且0≤reg10≤2,则flag4为1;否则为0            flag5:=RWA_C=0 AND RWB_C=1 AND reg10>=3 AND reg10<=5;!对自动给料装置A工件生成控制信号、自动给料装置B工件生成控制信号、自动给料装置A、B交替运行参考标志做逻辑“与”运算,若RWA_C为0且RWB_C为1且3≤reg10≤5,则flag4为1;否则为0            IF flag4=TRUE THEN!循环扫描flag4,若为TRUE则向下执行;若不为TRUE则继续扫描                Reset VM_FYB_C;!循环扫描flag4,若为TRUE则向下执行;若不为TRUE则继续扫描                WaitUntil VM_FYB_R=0;!等待给料机构B进给反馈信号为0                WaitUntil RWA_R=0;!等待自动给料装置A工件生成反馈信号为0                Set VM_FYA_C;!置位给料机构A进给控制信号为1                WaitUntil VM_FYA_R=1;!等待给料机构A进给反馈信号为1                Set VM_FAW_C;!置位自动给料装置A工件生成控制信号为1                WaitUntil VM_FWA_R=1;!等待自动给料装置A工件生成反馈信号为1                Reset VM_FAW_C;!复位自动给料装置A工件生成控制信号为0                Reset RWA_C;!复位自动给料装置A工件生成控制信号为0            ELSEIF flag5=TRUE THEN!循环扫描flag5,若为TRUE则向下执行;若不为TRUE则继续扫描                Reset VM_FYA_C;!复位给料机构A进给控制信号为1                WaitUntil VM_FYA_R=0;!等待给料机构A进给反馈信号为0                WaitUntil RWB_R=0;!等待自动给料装置B工件生成反馈信号为0                Set VM_FYB_C;!置位给料机构B进给控制信号为1                WaitUntil VM_FYB_R=1;!等待给料机构B进给反馈信号为1                Set VM_FBW_C;!置位自动给料装置B工件生成控制信号为1                WaitUntil VM_FWB_R=1;!等待自动给料装置B工件生成反馈信号为1                Reset VM_FBW_C;!复位自动给料装置B工件生成控制信号为0                Reset RWB_C;!复位自动给料装置B工件生成控制信号为0            ENDIF        ENDWHILE	ENDPROCENDMODULE

自动给料装置A取料例行程序

自动给料装置A取料例行程序中,增加了自动给料装置A、B工件生成控制信号逻辑程序,以及机器人工具抓取工件信号控制逻辑。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

完整程序代码如下。

	PROC Pick_FA()	    MoveJ Target_10,v500,z100,TCP1WObj:=wobj0;        Reset RWB_C;!复位自动给料装置B工件生成控制信号为0        Set RWA_C;!置位自动给料装置A工件生成控制信号为1	    MoveJ Target_20,v500,z100,TCP1WObj:=wobj0;        WaitUntil RWA_R=1;!等待自动给料装置A工件生成反馈信号为1	    MoveL Target_30,v500,fine,TCP1WObj:=wobj0;        Set VC_Hand_C1;!置位机器人工具控制信号1为1        WaitUntil VC_Hand_R1=1;!等待机器人工具反馈信号1为1        MoveL Target_20,v500,z100,TCP1WObj:=wobj0;	    MoveJ Target_10,v500,z100,TCP1WObj:=wobj0;	ENDPROC

自动给料装置B取料例行程序

自动给料装置B取料例行程序与自动给料装置A取料例行程序类似,不再过多介绍,程序如下所示。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

完整程序代码如下。

	PROC Pick_FB()	    MoveJ Target_10,v500,z100,TCP1WObj:=wobj0;        Reset RWA_C;!复位自动给料装置A工件生成控制信号为0        Set RWB_C;!置位自动给料装置B工件生成控制信号为1	    MoveJ Target_40,v500,fine,TCP1WObj:=wobj0;        WaitUntil RWB_R=1;!等待自动给料装置B工件生成反馈信号为1	    MoveL Target_50,v500,fine,TCP1WObj:=wobj0;        Set VC_Hand_C1;!置位机器人工具控制信号1为1        WaitUntil VC_Hand_R1=1;!等待机器人工具反馈信号1为1        MoveL Target_40,v500,fine,TCP1WObj:=wobj0;	    MoveJ Target_10,v500,z100,TCP1WObj:=wobj0;	ENDPROC

输送带放料例行程序

输送带放料例行程序中,添加了输送带运行控制信号逻辑程序,以及机器人工具放料程序逻辑。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

完整程序代码如下。

	PROC Conveyor_Drop()	    MoveJ Target_140,v500,fine,TCP2WObj:=wobj0;        WaitUntil VC_CNY_R=1;!等待输送带运行反馈信号为1	    MoveJ Target_150,v500,fine,TCP2WObj:=wobj0;	    MoveL Target_160,v500,fine,TCP2WObj:=wobj0;        Reset VC_Hand_C2;!复位机器人工具控制信号2为0        WaitUntil VC_Hand_R2=0;!等待机器人工具反馈信号2为0        MoveL Target_150,v500,fine,TCP2WObj:=wobj0;        Set VC_CNY_C;!置位输送带运行控制信号为1	    MoveJ Target_140,v500,fine,TCP2WObj:=wobj0;	ENDPROC

初始化例行程序

初始化例行程序是在机器人运行之前对机器人关键的信号、变量、可变量恢复初始状态的程序,这里对机床上下料逻辑判断标志位flag6、自动给料装置A、B交替运行参考标志reg10分别进行了初始化赋值。对机床上下料逻辑判断标志位flag6赋值为TRUE,是告诉机器人这是第一次运行,使得后续机器人机床上下料程序执行时,可以执行第一次放料逻辑。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

完整程序代码如下。

    PROC Init()        flag6:=TRUE;!初始化机床上下料逻辑判断标志位flag6为TRUE        reg10:=0;!初始化自动给料装置A、B交替运行参考标志reg10为0    ENDPROC

机器人主程序

编写机器人主程序就是实现整个机器人子例行程序的调用逻辑关系,也就是把机器人工作站的控制逻辑关系转换为机器人运行程序的过程。机器人工作站的整体运行逻辑关系如下图所示。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

把上述机器人工作站控制逻辑关系转换为机器人程序,如下图所示。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

完整程序代码如下。

	PROC Main()        Home;!调用机器人Home点例行程序        Init;!调用机器人初始化例行程序        WHILE TRUE DO            Label1:!程序跳转标签Label1            flag1:=reg10>=0 AND reg10<=2;!对自动给料装置A、B交替运行参考标志reg10进行判断,若0≤reg10≤2,则flag1为1;否则为0            flag2:=reg10>=3 AND reg10<=5;!对自动给料装置A、B交替运行参考标志reg10进行判断,若3≤reg10≤5,则flag1为1;否则为0            flag3:=reg10>=6;!对自动给料装置A、B交替运行参考标志reg10进行判断,若reg10≥6,则flag1为1;否则为0            IF flag1=TRUE THEN!循环扫描flag1,若为TRUE则向下执行;若不为TRUE则继续扫描                Reset RWB_C;!复位自动给料装置B工件生成控制信号为0                WaitUntil RWB_R=0;!等待自动给料装置B工件生成反馈信号为0                Pick_FA;!调用自动给料装置A取料例行程序                reg10:=reg10+1;!自动给料装置A、B交替运行参考标志reg10加1运算            ELSEIF flag2=TRUE THEN!循环扫描flag2,若为TRUE则向下执行;若不为TRUE则继续扫描                Reset RWA_C;!复位自动给料装置A工件生成控制信号为0                WaitUntil RWA_R=0;!等待自动给料装置A工件生成反馈信号为0                Pick_FB;!调用自动给料装置B取料例行程序                reg10:=reg10+1;!自动给料装置A、B交替运行参考标志reg10加1运算            ELSEIF flag3=TRUE THEN!循环扫描flag2,若为TRUE则向下执行;若不为TRUE则继续扫描                reg10:=0;!自动给料装置A、B交替运行参考标志reg10赋值为0                GOTO Label1;!跳转到标签Label1            ENDIF            Machine_Pick_Drop;!调用数控机床上下料例行程序            IF VC_Hand_R2=1 THEN!循环扫描机器人工具反馈信号2,若为1则向下执行;若不为1则继续扫描                Conveyor_Drop;!调用输送带放料例行程序            ENDIF        ENDWHILE	ENDPROC

机器人Home点例行程序

机器人Home点例行程序保持不变。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

完整程序代码如下。

	PROC Home()	    MoveAbsJ JointTarget_1,v500,fine,tool0WObj:=wobj0;	ENDPROC

数控机床上下料例行程序

数控机床上下料例行程序主要是对机床上下料逻辑判断标志位flag6进行判断,如果flag6为TRUE,也就是机器人第一次运行,那么就只执行机器人数控机床上料程序;如果flag6为FALSE,机器人就不是第一次运行,那么机器人就要先把数控机床上加工完成的工件取下来,然后再把新工件安装到数控机床上。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

注:程序中第117、118行代码重复复位、置位数控机床工件安装与拆除控制信号VM_W_C,是经过反复测试后添加的,如果不添加这两行代码,机器人无法向下运行。按照正常运行逻辑,这里只需要复位数控机床工件安装与拆除控制信号VM_W_C即可。之所以要反复置位、复位这个信号,个人猜测可能是因为机器人在机床上安装、拆除工件时使用了不同的TCP,导致机器人内部运行逻辑的不一致,因此,这里需要再次置位、复位这个信号,使得逻辑保持一致;另一种可能性是仿真软件的BUG,这里不再过多讨论。

完整程序代码如下。

    PROC Machine_Pick_Drop()        IF flag6=TRUE THEN!循环扫描flag6,若为TRUE则向下执行;若不为TRUE则继续扫描            MoveJ Target_100,v500,fine,TCP2WObj:=wobj0;            WaitUntil RM_R=1;!等待数控机床加工反馈信号为1            MoveJ Target_110,v500,fine,TCP2WObj:=wobj0;            MoveL Target_80,v500,fine,TCP1WObj:=wobj0;            MoveL Target_90,v500,fine,TCP1WObj:=wobj0;            Set VM_W_C;!置位数控机床工件安装与拆除控制信号为1            WaitUntil VM_W_R=1;!等待数控机床工件安装与拆除反馈信号为1            WaitTime 1;!等待1s,信号发送、接收时间            Reset VC_Hand_C1;!复位机器人工具控制信号1为0            WaitUntil VC_Hand_R1=0;!等待机器人工具反馈信号1为0            MoveL Target_80,v500,fine,TCP1WObj:=wobj0;            MoveJ Target_110,v500,fine,TCP2WObj:=wobj0;            Set RM_C;!置位数控机床加工控制信号为1            flag6:=FALSE;!机床上下料逻辑判断标志位flag6赋值为FALSE            MoveJ Target_100,v500,fine,TCP2WObj:=wobj0;        ELSEIF flag6=FALSE THEN!循环扫描flag6,若为FALSE则向下执行;若不为FALSE则继续扫描            MoveJ Target_100,v500,fine,TCP2WObj:=wobj0;            WaitUntil RM_R=1;!等待数控机床加工反馈信号为1            MoveJ Target_110,v500,fine,TCP2WObj:=wobj0;            MoveL Target_120,v500,fine,TCP2WObj:=wobj0;            MoveL Target_130,v500,fine,TCP2WObj:=wobj0;            Reset VM_W_C;!复位数控机床工件安装与拆除控制信号为0            Set VM_W_C;!置位数控机床工件安装与拆除控制信号为1            Reset VM_W_C;!复位数控机床工件安装与拆除控制信号为0            WaitUntil VM_W_R=0;!等待数控机床工件安装与拆除反馈信号为0            WaitTime 1;!等待1s,信号发送、接收时间            Set VC_Hand_C2;!置位机器人工具控制信号2为1            WaitUntil VC_Hand_R2=1;!等待机器人工具反馈信号2为1            MoveL Target_120,v500,fine,TCP2WObj:=wobj0;            MoveL Target_80,v500,fine,TCP1WObj:=wobj0;            MoveL Target_90,v500,fine,TCP1WObj:=wobj0;            Set VM_W_C;!置位数控机床工件安装与拆除控制信号为1            WaitUntil VM_W_R=1;!等待数控机床工件安装与拆除反馈信号为1            WaitTime 1;!等待1s,信号发送、接收时间            Reset VC_Hand_C1;!复位机器人工具控制信号1为0            WaitUntil VC_Hand_R1=0;!等待机器人工具反馈信号1为0            MoveL Target_80,v500,fine,TCP1WObj:=wobj0;            MoveJ Target_110,v500,fine,TCP2WObj:=wobj0;            Set RM_C;!置位数控机床加工控制信号为1            MoveJ Target_100,v500,fine,TCP2WObj:=wobj0;        ENDIF    ENDPROC

完整的机器人前台运行程序如下所示。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

完整程序代码如下:

MODULE Module1    CONST robtarget Target_10:=[[-105.49,579.988623383,906.377272022],[0,-0.707106781,0.707106781,0],[1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_20:=[[-154.272430575,1040.197944831,408.821804466],[-0.000000009,0.707106789,-0.707106773,-0.000000022],[1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_30:=[[-154.272430474,1040.1979427,340.199725865],[-0.000000009,0.707106789,-0.707106773,-0.000000022],[1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_40:=[[68.727608491,1041.197987768,413.90280281],[-0.000000037,-0.707106781,0.707106781,0.000000036],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_50:=[[68.72761347,1041.198017452,340.201142462],[-0.000000037,-0.707106777,0.707106785,0.000000036],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_100:=[[573.250617984,-94.193044203,897.368388848],[-0.000000016,0.00000011,1,0],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_110:=[[573.250603139,130.078196979,1021.465973332],[0.000000041,-0.000000062,0.707106786,0.707106777],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_120:=[[952.004763071,100.358697881,596.952671985],[0.073912769,-0.073912713,-0.703233188,-0.703233174],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_130:=[[952.004775953,145.252003711,596.95269566],[0.073912767,-0.073912722,-0.70323316,-0.703233201],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_80:=[[952.004663029,100.639099969,596.952707868],[0.499999999,-0.499999887,-0.500000132,-0.499999983],[-1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_90:=[[952.004756918,145.252003986,596.952682829],[0.500000014,-0.499999894,-0.500000109,-0.499999983],[-1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_60:=[[579.988643459,105.489956009,906.377338138],[-0.000000049,0.00000005,1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_70:=[[579.988574388,121.069199606,1221.148973472],[0.000000042,-0.000000062,0.707106786,0.707106777],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_140:=[[-94.193044877,-573.250644206,897.368454324],[-0.000000013,0.707106901,0.707106661,-0.000000013],[-2,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_150:=[[-11.250024226,-579.819937457,198.905207331],[-0.000000013,0.707106922,0.70710664,0.000000004],[-1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST robtarget Target_160:=[[-11.250022761,-579.819990471,150.999928945],[0.000000008,0.707106945,0.707106618,0.000000001],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];	CONST jointtarget JointTarget_1:=[[0,-29.8,0,0,90,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];    PERS num reg10:=0;!声明整型可变量reg10,初始化值为0,作为自动给料装置A、B交替运行参考标志,并与后台程序进行数据交互    VAR bool flag1:=FALSE;!声明布尔变量flag1,初始状态为FALSE,作为主程序逻辑判断标志位	VAR bool flag2:=FALSE;!声明布尔变量flag2,初始状态为FALSE,作为主程序逻辑判断标志位	VAR bool flag3:=FALSE;!声明布尔变量flag3,初始状态为FALSE,作为主程序逻辑判断标志位    VAR bool flag6:=FALSE;!声明布尔变量flag6,初始状态为FALSE,作为机床上下料逻辑判断标志位	PROC Pick_FA()	    MoveJ Target_10,v500,z100,TCP1WObj:=wobj0;        Reset RWB_C;!复位自动给料装置B工件生成控制信号为0        Set RWA_C;!置位自动给料装置A工件生成控制信号为1	    MoveJ Target_20,v500,z100,TCP1WObj:=wobj0;        WaitUntil RWA_R=1;!等待自动给料装置A工件生成反馈信号为1	    MoveL Target_30,v500,fine,TCP1WObj:=wobj0;        Set VC_Hand_C1;!置位机器人工具控制信号1为1        WaitUntil VC_Hand_R1=1;!等待机器人工具反馈信号1为1        MoveL Target_20,v500,z100,TCP1WObj:=wobj0;	    MoveJ Target_10,v500,z100,TCP1WObj:=wobj0;	ENDPROC	PROC Pick_FB()	    MoveJ Target_10,v500,z100,TCP1WObj:=wobj0;        Reset RWA_C;!复位自动给料装置A工件生成控制信号为0        Set RWB_C;!置位自动给料装置B工件生成控制信号为1	    MoveJ Target_40,v500,fine,TCP1WObj:=wobj0;        WaitUntil RWB_R=1;!等待自动给料装置B工件生成反馈信号为1	    MoveL Target_50,v500,fine,TCP1WObj:=wobj0;        Set VC_Hand_C1;!置位机器人工具控制信号1为1        WaitUntil VC_Hand_R1=1;!等待机器人工具反馈信号1为1        MoveL Target_40,v500,fine,TCP1WObj:=wobj0;	    MoveJ Target_10,v500,z100,TCP1WObj:=wobj0;	ENDPROC	PROC Conveyor_Drop()	    MoveJ Target_140,v500,fine,TCP2WObj:=wobj0;        WaitUntil VC_CNY_R=1;!等待输送带运行反馈信号为1	    MoveJ Target_150,v500,fine,TCP2WObj:=wobj0;	    MoveL Target_160,v500,fine,TCP2WObj:=wobj0;        Reset VC_Hand_C2;!复位机器人工具控制信号2为0        WaitUntil VC_Hand_R2=0;!等待机器人工具反馈信号2为0        MoveL Target_150,v500,fine,TCP2WObj:=wobj0;        Set VC_CNY_C;!置位输送带运行控制信号为1	    MoveJ Target_140,v500,fine,TCP2WObj:=wobj0;	ENDPROC    PROC Init()        flag6:=TRUE;!初始化机床上下料逻辑判断标志位flag6为TRUE        reg10:=0;!初始化自动给料装置A、B交替运行参考标志reg10为0    ENDPROC	PROC Main()        Home;!调用机器人Home点例行程序        Init;!调用机器人初始化例行程序        WHILE TRUE DO            Label1:!程序跳转标签Label1            flag1:=reg10>=0 AND reg10<=2;!对自动给料装置A、B交替运行参考标志reg10进行判断,若0≤reg10≤2,则flag1为1;否则为0            flag2:=reg10>=3 AND reg10<=5;!对自动给料装置A、B交替运行参考标志reg10进行判断,若3≤reg10≤5,则flag1为1;否则为0            flag3:=reg10>=6;!对自动给料装置A、B交替运行参考标志reg10进行判断,若reg10≥6,则flag1为1;否则为0            IF flag1=TRUE THEN!循环扫描flag1,若为TRUE则向下执行;若不为TRUE则继续扫描                Reset RWB_C;!复位自动给料装置B工件生成控制信号为0                WaitUntil RWB_R=0;!等待自动给料装置B工件生成反馈信号为0                Pick_FA;!调用自动给料装置A取料例行程序                reg10:=reg10+1;!自动给料装置A、B交替运行参考标志reg10加1运算            ELSEIF flag2=TRUE THEN!循环扫描flag2,若为TRUE则向下执行;若不为TRUE则继续扫描                Reset RWA_C;!复位自动给料装置A工件生成控制信号为0                WaitUntil RWA_R=0;!等待自动给料装置A工件生成反馈信号为0                Pick_FB;!调用自动给料装置B取料例行程序                reg10:=reg10+1;!自动给料装置A、B交替运行参考标志reg10加1运算            ELSEIF flag3=TRUE THEN!循环扫描flag2,若为TRUE则向下执行;若不为TRUE则继续扫描                reg10:=0;!自动给料装置A、B交替运行参考标志reg10赋值为0                GOTO Label1;!跳转到标签Label1            ENDIF            Machine_Pick_Drop;!调用数控机床上下料例行程序            IF VC_Hand_R2=1 THEN!循环扫描机器人工具反馈信号2,若为1则向下执行;若不为1则继续扫描                Conveyor_Drop;!调用输送带放料例行程序            ENDIF        ENDWHILE	ENDPROC	PROC Home()	    MoveAbsJ JointTarget_1,v500,fine,tool0WObj:=wobj0;	ENDPROC    PROC Machine_Pick_Drop()        IF flag6=TRUE THEN!循环扫描flag6,若为TRUE则向下执行;若不为TRUE则继续扫描            MoveJ Target_100,v500,fine,TCP2WObj:=wobj0;            WaitUntil RM_R=1;!等待数控机床加工反馈信号为1            MoveJ Target_110,v500,fine,TCP2WObj:=wobj0;            MoveL Target_80,v500,fine,TCP1WObj:=wobj0;            MoveL Target_90,v500,fine,TCP1WObj:=wobj0;            Set VM_W_C;!置位数控机床工件安装与拆除控制信号为1            WaitUntil VM_W_R=1;!等待数控机床工件安装与拆除反馈信号为1            WaitTime 1;!等待1s,信号发送、接收时间            Reset VC_Hand_C1;!复位机器人工具控制信号1为0            WaitUntil VC_Hand_R1=0;!等待机器人工具反馈信号1为0            MoveL Target_80,v500,fine,TCP1WObj:=wobj0;            MoveJ Target_110,v500,fine,TCP2WObj:=wobj0;            Set RM_C;!置位数控机床加工控制信号为1            flag6:=FALSE;!机床上下料逻辑判断标志位flag6赋值为FALSE            MoveJ Target_100,v500,fine,TCP2WObj:=wobj0;        ELSEIF flag6=FALSE THEN!循环扫描flag6,若为FALSE则向下执行;若不为FALSE则继续扫描            MoveJ Target_100,v500,fine,TCP2WObj:=wobj0;            WaitUntil RM_R=1;!等待数控机床加工反馈信号为1            MoveJ Target_110,v500,fine,TCP2WObj:=wobj0;            MoveL Target_120,v500,fine,TCP2WObj:=wobj0;            MoveL Target_130,v500,fine,TCP2WObj:=wobj0;            Reset VM_W_C;!复位数控机床工件安装与拆除控制信号为0            Set VM_W_C;!置位数控机床工件安装与拆除控制信号为1            Reset VM_W_C;!复位数控机床工件安装与拆除控制信号为0            WaitUntil VM_W_R=0;!等待数控机床工件安装与拆除反馈信号为0            WaitTime 1;!等待1s,信号发送、接收时间            Set VC_Hand_C2;!置位机器人工具控制信号2为1            WaitUntil VC_Hand_R2=1;!等待机器人工具反馈信号2为1            MoveL Target_120,v500,fine,TCP2WObj:=wobj0;            MoveL Target_80,v500,fine,TCP1WObj:=wobj0;            MoveL Target_90,v500,fine,TCP1WObj:=wobj0;            Set VM_W_C;!置位数控机床工件安装与拆除控制信号为1            WaitUntil VM_W_R=1;!等待数控机床工件安装与拆除反馈信号为1            WaitTime 1;!等待1s,信号发送、接收时间            Reset VC_Hand_C1;!复位机器人工具控制信号1为0            WaitUntil VC_Hand_R1=0;!等待机器人工具反馈信号1为0            MoveL Target_80,v500,fine,TCP1WObj:=wobj0;            MoveJ Target_110,v500,fine,TCP2WObj:=wobj0;            Set RM_C;!置位数控机床加工控制信号为1            MoveJ Target_100,v500,fine,TCP2WObj:=wobj0;        ENDIF    ENDPROCENDMODULE

逻辑设定

在软件的“仿真”菜单栏下的“工作站逻辑”中,配置机器人工作站逻辑信号,也就是把仿真工作站中的所有Smart组件控制信号与机器人的I/O信号按照下图映射关系进行连接。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

仿真运行

在“控制器”菜单栏下,将数控机床后台运行程序、自动给料装置后台运行程序的“Type”修改为“Semistatic”,也就是设定后台运行程序为自动运行模式。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

在“RAPID”菜单栏下,机器人前台运行程序执行“将程序指针设为所有任务中的主例行程序”,即初始化机器人程序运行指针。

在“仿真”菜单栏下,进行仿真设定,全部勾选仿真工作站中的Smart组件对象与机器人对象,并把机器人进入点设置为“主程序Main”。同时手动置位输送带运行反馈信号VC_CNY_R,以便于机器人能够在第一次运行时执行输送带放料任务。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

全部设置完成后,点击“播放”按钮,机器人工作站开始仿真运行。点击“停止”按钮,机器人工作站停止仿真运行。

Robotstudio软件:机床上下料工作站机器人主逻辑编写与仿真运行

停止运行后要立即点击“重置”按钮,把仿真工作站恢复原始状态。下一次仿真运行之前,首先要执行机器人控制器的重启,然后再执行“将程序指针设为所有任务中的主例行程序”,最后才能再次运行机器人工作站的仿真;否则会带来一些不必要的麻烦,切记!

断断续续写了差不多有一年的时间才把这个机器人数控机床上下料仿真写完,Word文案写了100多页,一共25000字左右,快赶上一篇中短篇小说了。拖得时间太久了,也是因为实在太忙,没有太多时间来写,希望小伙伴们能够见谅。当然,这个工作站到目前为止,只是完成了仿真,工艺节拍还有待进一步优化,这些就留给感兴趣的小伙伴自己去摸索完成吧。

The End


上一篇:Robotstudio软件:机床上下料工作站机器人示教编程

分享几个日常非常实用的免费软件:投屏+图库+时间管理+文件整理

最近在家闲了很长一段时间,发现了几个新鲜又实用还免费的神器,独乐乐不如众乐乐,分享给大家一起乐一乐啊嘻嘻嘻~

1. 幕享-免费投屏神器

分享几个日常非常实用的免费软件:投屏+图库+时间管理+文件整理

幕享是一款支持安卓、iOS、Windows、Mac等全平台全设备的免费投屏神器,只需要同一个WiFi网络,便可以轻松实现投屏。当前支持的功能有:手机投电脑、电脑投手机、手机投电视、电脑投电视,电脑投电脑等~除了具备画面高清,播放流畅这些投屏软件基本素质外,还支持投声音,经常用投屏的小伙伴应该懂这个有多刚需!!!除此之外,软件还自带截图、录制、白板等功能,让你感受到更完美的投屏体验~

分享几个日常非常实用的免费软件:投屏+图库+时间管理+文件整理

我是最近在家的时候,看到我那上网课的弟弟成日抱着手机打瞌睡,然后我那慈爱的妈妈还成日担心他抱着手机影响视力,这才想着用投屏拯救我可爱小老弟的学业,这才搜到了幕享,试了一下投屏很简单,而且兼容很多视频App,像腾讯课堂啊、365名师啊、混沌大学,我试了一下都可以直接用软件内置TV按钮投屏,钉钉虽然不能直接软件内投屏,但是用普通投屏,也是可以投屏到电视上观看的。自从投屏之后啊,我弟瞌睡没了,腰板挺直了,这才真的叫妈妈再也不用担心我(小老弟)的学习~

2.、图曰-设计师福音

先说一下,是图曰(yue),不是你们想的那个……每次跟身边朋友推荐的时候,嗯,都要解释一遍~这个软件最吸引人的主要有两点:

<1>免费超高清图库

分享几个日常非常实用的免费软件:投屏+图库+时间管理+文件整理

图曰里面包含了百万免费高清图库,包含各种分类,比如纯色、中国风、互联网、读书分类等等,可以说是设计师和新媒体小编的福音了。

<2> 智能图片加字

分享几个日常非常实用的免费软件:投屏+图库+时间管理+文件整理

顾名思义,你拍下一张图,系统可以帮你自动匹配文字。 我拿自家狗子试了一波水,还别说,匹配还算精准,有点意思。

3.时间块-时间管理

分享几个日常非常实用的免费软件:投屏+图库+时间管理+文件整理

这个比起番茄时钟这类软件更加实用,简单明了,直接就是彩色的色块,按照自己的分类将不同的颜色命名好。当你发现睡觉那一栏占据了你几乎全部江山,反正我看得是挺心塞哈~有些东西就是眼不见心为净,看见了就不能当作看不到。你试试,绝对管个百分之六七十的用处,实在是那种如泰山,雷打不动的人的话,那……

4.Q-Dir-多窗口文件整理工具

分享几个日常非常实用的免费软件:投屏+图库+时间管理+文件整理

Q-Dir 是一款多窗口文件整理工具,特别适合当你频繁地在各个文件夹中跳转进行复制粘贴的文件归档操作。如果你的电脑硬盘中文件已经凌乱无章难以归类的话,非常建议你使用这款软件来进行高效率的整理。

电脑必备的几个软件 你家的电脑装了吗

废话不多说直接开始。

搜索神器Everything

everything作为一个软件已然是家喻户晓,作为一个搜索软件,不知道比windows系统内置的搜索快了多少倍

电脑必备的几个软件 你家的电脑装了吗

界面一览

官网:https://www.voidtools.com/zh-cn/

国内知名杀毒软件 火绒安全

电脑必备的几个软件 你家的电脑装了吗

界面图

火绒可谓是国内杀毒软件的清流,杂菌曾经用金山毒霸,结果被弹窗快折磨疯了,现在用上它,变的好多了。

附上官网:https://www.huorong.cn/

飞速下载器 IDM(Internet download manager)

电脑必备的几个软件 你家的电脑装了吗

界面图

IDM可以说是PC端最快的下载器,它的多线程下载最高支持32线程,体验飞一样的感觉~~

附上官网:https://www.internetdownloadmanager.com/

Microsoft全家桶

这个可是所有电脑必备的软件,现在office365或者是office2019在官网都是要花钱才能购买到的,在下一篇文章里,我将会详细讲解如何用office tool plus部署office的软件。(在此感谢office tool plus的设计者)

电脑必备的几个软件 你家的电脑装了吗

word启动界面

Adobe 全家桶

这个也是家喻户晓的软件了,但由于正版必须安装adobe creative cloud的原因,无法使用正版,但同样在下一篇文章中,我会介绍如何用其他软件达到使用正版的效果。

以上就是文章的所有内容了,希望能帮到你们,再见~

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

最近,每天都会收到小伙伴们提出各种各样的问题,其中类型最多的就是,有没有免费的XX软件?比如说有没有类似PS的免费软件?

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

确实,很多好用的软件,都是付费的。那有没有免费软件可以替代呢?别说,还真有,今天的这个网站就专门做这个事情的。

01 找到替代软件

那有没有免费好用的文本编辑器?直接在这个网站搜索就好了:

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

而且每款软件都有详细的介绍,不比那些专业的软件网站差:

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

而且,部分软件还有一句话总结:

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

最关键的是,可以快速筛选,软件的使用平台、是否为开源软件、需不需要付费:

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

巧用筛选功能,就可以找到很多良心免费的软件了。

比如说,班迪家有一个bandicam屏幕录制非常好用,无奈需要money,我们就可以用这个网站搜索,找到替代品。

结果之前推荐的Captura这款录屏软件就出来了:

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

再比如说昨天推荐的VLC视频播放器,我就是通过这种方式搜索到的。

我知道一款比较好用的软件,叫nPlayer,但是它需要付费,而在这个网站中,你可以选择 iOS 平台中免费的软件:

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

02 近10万软件

这个网站中,目前已经收录了8万6千个软件:

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

不仅可以直接搜索,还会有不同的专题推荐

比如,别人都在找什么:

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

最受欢迎的应用都有哪些:

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

甚至可以将生产力工具细分为不同的部分:

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

如果你在某方面没有趁手的工具,可以试试它推荐的。

03 配合搜索更多应用

之前我们还推荐过一款总结最佳软件的网站,这个网站主要是挑选不同用途最好用的软件,比如说PDF编辑器哪个最好?

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

如果你可以结合这两个网站,会有很大的用途。

比如你不知道PDF编辑软件哪个好,你可以先使用最佳网站,找到排名第一的软件:

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

然后用这个网站找对应的替代品就可以了:

发现宝藏!这个良心网站,有近10万个免费软件!网友:果断收藏

最后

虽然有些免费的软件,在某些情况下不如付费软件(毕竟别人是拿钱干活的),但日常使用还是不成问题的。

如果你需要这个网站,关注我后,私信【替换】就可以获取啦

9款小巧精美的Mac软件APP,你喜欢吗?

相信大多数人都很注重对美的追求,软件下载也是一样,小编在日常使用Mac软件当中,看到一些小巧轻便、设计精美的 APP 就喜欢下载体验并收集起来,清爽的界面以及流畅的交互总让人使用的很舒服。

不知道大家是否跟小编一样喜欢小巧精美的Mac软件呢?今天macdown小编就给大家推荐一些Mac上小巧精美的软件APP,希望大家喜欢!

1、Pap.er

9款小巧精美的Mac软件APP,你喜欢吗?

简易的苹果4k壁纸软件,Pap.er拥有美观的界面,自动换取壁纸功能,千万海量精美壁纸任您选,每天享受来自全球新鲜精美的壁纸!适合喜欢寻找壁纸来改变心情的你~

2、小历TinyCal

9款小巧精美的Mac软件APP,你喜欢吗?

最受欢迎的小而美的日历工具,它支持显示阳历、农历、节日节气和法定节假日,还能快速添加日历事。小历TinyCal 通过菜单栏和通知中心让用户查看日历十分便捷,简洁的设计带给用户最方便的体验。

3、Typora

9款小巧精美的Mac软件APP,你喜欢吗?

简单高效的Markdown编辑器,使您可以轻松编写和编辑纯文本。此外,Typora可以顺畅地与Mac系统集成,让您觉得它实际上是一个本地应用程序。通过为您提供所有必要的工具和一个组织良好的环境,使Markdown运行更轻松!

4、One Switch

9款小巧精美的Mac软件APP,你喜欢吗?

One Switch 是一款小巧的应用程序,专为mac用户设计的一款快捷一键开关工具,旨在通过快速访问一些重要的交换机来提高您的效率,可以让您随时切换暗模式,保持亮屏,屏幕保护和将AIrPods与Mac连接!而您只需单击一下即可,非常实用!

5、Numi计算器

9款小巧精美的Mac软件APP,你喜欢吗?

这个计算器就像在记事本里打草稿记流水账,然后优雅的在右边帮你显示一个答案,一切即自然又优美,不得不说非常的赏心悦目。Markdown 一样的简洁语言风格外加清爽的语法着色,每次的演算和账单都可以以文本形式永久保存。

6、Things 3

9款小巧精美的Mac软件APP,你喜欢吗?

优秀的任务管理软件,严格按照GTD流程来规划人们的任务安排,设计方式也和很多其他的应用程序有很大差别,它基于流行的Getting Things Done生产力方法,Things3提供了一个优雅,精简的界面 – 一种经典的Mac风格的多窗格设置,无需额外的工作流程窗口。

7、滴答清单

9款小巧精美的Mac软件APP,你喜欢吗?

滴答清单是一款用于苹果电脑的GTD效率管理工具。滴答清单能够帮用户进行计划的添加以及提醒,给用户带来更加全面高效的生活效率,在清单中记录下所有事物,将生活步伐完美掌控。

8、IINA

9款小巧精美的Mac软件APP,你喜欢吗?

IINA 是一款采用现代设计和流线型功能的mac版在线视频播放器,可以观看视频,管理播放列表,处理媒体内容或为电影加载字幕提等等,还可以使用所有流行的媒体格式。而且您可以快速更改界面主题,调整默认行为和用户界面,决定是否要自动加载字幕,配置新的键绑定等。

9、Gif Brewery 3

9款小巧精美的Mac软件APP,你喜欢吗?

除了创建gif动画的功能以外,gif brewery还提供了屏幕录制、gif视频大小调整、叠加图片到gif、更改循环次数等功能,操作简便快捷易上手!

不少开发者追求大而全,但往往小而美才是多数人的诉求,以上就是macdown小编为大家带来的9款小巧精美的Mac软件APP,你喜欢吗?欢迎留言评论!

5个手机版完全免费剪辑软件,自动加字幕,推荐收藏转发

很多朋友问我手机用什么剪辑软件好,今天给大家分享几个好用简单的免费使用剪辑软件,做自媒体短视频平台必备实用的软件。这些软件除了操作非常简单,最重要的是完全免费,大大降低新手小白的入门门槛。

很多朋友问我手机用什么剪辑软件好,今天给大家分享几个好用简单的免费使用剪辑软件,做自媒体短视频平台必备实用的软件。这些软件除了操作非常简单,最重要的是完全免费,大大降低新手小白的入门门槛。


1.快影

快影的优点:强大的视频剪辑功能,丰富的音乐库、音效库和新式封面,让你在手机上就能轻轻松松完成视频编辑和视频创意,制作出令人惊艳的趣味视频。

5个手机版完全免费剪辑软件,自动加字幕,推荐收藏转发

2.小影

小影的软件介绍:简单几步,让作品秒变大片,逐帧修剪、混剪、镜头分割、变速、倒放,简单轻松拼接小视频,制作你的微电影字幕、配乐、转场、滤镜、主题、动态贴纸。

5个手机版完全免费剪辑软件,自动加字幕,推荐收藏转发

3.巧影

巧影这类软件的优点是功能相对更专业,有些功能媲美电脑端的软件,比如图层和色度键等等;缺点是免费版的带水印,功能和模板使用有限制

5个手机版完全免费剪辑软件,自动加字幕,推荐收藏转发

4.快剪辑快剪辑不仅完全免费和无强制水印,还有丰富的剪辑教程教您快速制作爆款短视频和Vlog作品,记录美好,做自己生活的导演。

5个手机版完全免费剪辑软件,自动加字幕,推荐收藏转发

5.splice

Splice剪辑安卓版是一款具有照片修剪剪辑功能的视频编辑器和影片生成器。Splice 简单易用、功能强大,是您安卓手机上最好的视频编辑器! 轻松创建视频和幻灯片,没有长度限制、水印或广告。包括免费滤镜、歌曲、声音效果、文本覆盖、过渡和精确的编辑工具。每个月全球创作了大量 Splice 视频!

5个手机版完全免费剪辑软件,自动加字幕,推荐收藏转发

以上就是小编本次给大家分享的手机端的视频剪辑软件了,如果你也有这方面的兴趣,可以和小编一起学习研究

如果对你有帮助,推荐转发点赞加关注哦。

8个免费视频剪辑软件,你,值得拥有。

提到视频剪辑软件,大家首先想到的就是Final Cut 、Premiere、Edius等等。然而这些软件实在是太!贵!了!啊!破解的话实在是太!麻!烦!了!啊!难道就没有免费又好用的剪辑软件吗?

当然有,今天doyoudo给大家推荐8款免费的视频剪辑软件,希望你能找到顺手的那个。

1、HitFilm 3 Express

网址:https://hitfilm.com/express

适用平台:Windows/Mac OS

8个免费视频剪辑软件,你,值得拥有。

HitFilm 3 Express可以说是目前市面上最好的免费视频剪辑软件,除了基础的视频剪辑功能外,你还可以用它来制作动画、2D或者3D建模、或者添加特效。该软件免费版本包含完整的视频剪辑功能、内建100个特效、动态跟踪等功能,当然你也可以通过内购下载额外的过场动画和特效。

2、DaVinci Resolve 12

网址:https://www.blackmagicdesign.com/products/davinciresolve

适用平台:Windows/Mac OS

8个免费视频剪辑软件,你,值得拥有。

DaVinci Resolve 12.5是一个将专业的视频剪辑功能和调色系统集于一身的软件,它支持不限分辨率的窗口缩放,可在现场、狭小工作室使用。和HitFilm 3 Express相比DaVinci在视频剪辑和动画制作方面并不出色,假如你更倾向调色后期那么DaVinci肯定是你的不二选择。

3、Movie Maker

网址:https://support.microsoft.com/en-us/help/14220/windows-movie-maker-download

适用平台:Windows

8个免费视频剪辑软件,你,值得拥有。

Movie Maker Live是windows附带的一个影视剪辑小软件,它功能比较简单,可以组合镜头,声音,加入镜头切换的特效,只要将镜头片段拖入就行,很简单,适合家用摄像后的一些小规模的处理,操作简单非常适合视频剪辑小白使用。

4、iMoive

网址:https://www.apple.com/mac/imovie/

适用平台:Mac OS

8个免费视频剪辑软件,你,值得拥有。

iMovie是一款由苹果电脑编写的视频剪辑软件,之后于WWDC 2010推出了iOS版本。iMovie'11是目前最新的版本,新增功能有影片预告、全新音频编辑、一步特效、人物查找器、运动与新闻主题、全球首映等等,imovie免费且容易上手,不过你得花钱买一台昂贵的Mac。

5、Lightworks

网址:https://www.lwks.com/

适用平台:Windows, Mac OS, Linux

8个免费视频剪辑软件,你,值得拥有。

在HitFilm 3 Express上市之前Lightworks一直都是视频剪辑爱好者的第一选择,它在2011年的时候成为了一款开源软件并提供免费下载,唯一的缺点就是免费版最高只能导出720P的视频。

6、ivsEdits LE

网址:https://www.ivsedits.com/default/

适用平台:Windows

8个免费视频剪辑软件,你,值得拥有。

LE是ivsEdits的免费版本,它支持处理4K级别的视频并且可以以无损的格式(AVI、MOV)导出,尽管免费版会有种种限制你仍然可以通过第三方插件完成你所需的操作。

7、Shotcut

网址:https://www.shotcut.org/

适用平台:Windows, Mac, Linux

8个免费视频剪辑软件,你,值得拥有。

及其简洁、易上手的视频剪辑软件,开源、免费。适合初学者或者是不喜欢特别复杂操作的用户使用。

8、Avid Free DV

适用平台:Windows

8个免费视频剪辑软件,你,值得拥有。

Avid Free DV是专业视频剪辑软件Avid video editor的免费版本,然而在AVE收购了Pinnacle后他们停止了对这款软件的维护,不过你仍然可以在百度上找到免费下载的版本。不过Avid Free DV不适合业余视频剪辑爱好者

50 年的软件开发经验带给我的 63 个启示

技术圈能够从业 50 年的开发者显得弥足珍贵,本文作者 Karl Wiegers 就是这样一位有着丰厚经验的软件行业从业者,在过去 50 年里,他积累了 63 条启示,并将其梳理分享出来,希望对你有所启发。

50 年的软件开发经验带给我的 63 个启示

作者 | Karl Wiegers,译者 | 香槟超新星

责编 | 唐小引

头图 | CSDN 下载自东方 IC

出品 | CSDN(ID:CSDNnews)

以下为译文:

1970 年,我在大学里上了第一堂编程课(当然了,学的是 FORTRAN)。在过去的半个世纪中,我的很多时间都花在了软件工作中:需求、设计、用户体验、编程、测试、项目管理、写文档,领导过程改进,撰写 7 本书和许多篇文章,咨询,培训。

当然,在此过程中也完成了一些支线任务,比如读了有机化学的 PhD(我的论文有三分之一都是计算机代码),做了几年的研究员。但基本上来说,我是个软件行业的人。

在如此漫长的这段时间里,我积累了许多关于软件行业的见解。在本文里,我将跟大家分享 63 个启示,也许你也会像我一样觉得它们很有用。

50 年的软件开发经验带给我的 63 个启示

关于需求

1. 如果你没有搞明白需求,那么项目的其他部分你做得再好也没用,最终都会失败的。

2. 午餐后你在办公桌上发现的便签纸,保存下来的语音邮件和电子邮件,以及记得似是而非的走廊上的随意对话,所有这些都不能算得上是需求。这只是一堆信息而已。

3. 对于所有项目利益相关者来说,利益的交集在流程需求(Requirements Process)中发生得最多。

4. 如果缺少了高质量的需求,利益相关者们可能会对最后交付的内容感到倍感意外。在软件中,意外几乎总是坏消息的代名词

5. 在探索需求时,请不要只考虑当前的用户。你曾经的客户仍然是你的客户。

6. 人们不应该只是去“收集”需求。需求获取是个探索,协作,发现和发明的过程,而不仅仅是简单的收集。一个商业分析师不仅仅要干抄写员的活。

7. 需求获取的目的是让客户的声音——即 VOC,voice of the customer——尽可能地贴近开发人员的耳朵——即 EOD,ear of the developer。商业分析师有助于缩小其中的沟通差距。

8. 对于需求获取,人们通常寄希望于两种方法:“心灵感应”和“千里眼”。但这两样都没用。

9. 不管我们的文化怎样宣称,但客户其实并不总是正确的。但是客户总是有他自己的意见的,而你必须理解以及尊重这个意见。

10. 需求开发需要迭代。你不能指望在第一次讨论中就 get 到所有的需求;要知道你可能永远也无法完全 get 到。有效的需求开发涉及对细节和清晰度的逐步改进。

11. 不要害怕对需求进行记录。与获取知识的成本相比,记录知识的成本很低。

12. 如果要求中未描述某些功能或特性,则没人期望在产品中看到它。

13. 需求开发的可交付成果不仅仅是一组书面需求,而是一种共识和一致的预期。

14. 对于需求开发而言,比较实际的目标不是创建出的需求有多完美,而是创建出的需求足以使团队以可接受的风险水平进行建设。这种风险就在于,由于被忽视的,不必要,不完整,模棱两可或沟通不畅的情况下产出的需求,而不得不进行过多的计划外返工的情况。

15. 我们有时在表达需求时会比较随意,因为我们会假设读者有一个跟我们自己类似的“理性过滤器”,但是对于一段相同的陈述,人们经常会以不同的方式解读。这种模糊性会导致期望不匹配以及交付时的意外。

16. 把需求工作室和审核小组保持在一个较小的规模。一大群人连是否要离开一个起火了的房间的无法做到意见相同,更不用说在某项需求应该如何措辞上达成一致了。

17. 当有人提出新需求时,第一个要问的问题是:“这在我们的讨论范围之内吗?”如果是的,那就必须解决。如果不是,那就不解决,或者至少不是现在解决。但是,如果答案是“不是,但我们应该关注这个问题”,那么你必须调整范围来适应它。这对成本,进度,资源,参与度,优先级和效益折中都有影响。

18. 如果你没有一个记录在案且已达成共识的项目范围,怎么能知道自己是否正在经历范围蔓延?

19. 在决定要在一个产品或迭代中包含哪些功能时,请避免“分贝优先级”的做法(俗称按闹分配)。声音最大的那些客户所要求的功能从业务角度来说并不一定是最重要的。

20. 项目的利益相关者们必须能够理解,对可能的需求进行讨论与承诺将其包含在产品中之间是有区别的。

21. 有两个术语,你听到时一定要提高警惕:“假定需求”和“隐含需求”。要力争明确地交流需求的预期。

50 年的软件开发经验带给我的 63 个启示

关于项目管理

22. “项目管理”指的不是一项具体活动。项目管理是人员管理,需求管理,风险管理,机会管理,预期管理,承诺管理,变更管理,资源管理,以及供应商管理的混合物。

23. 为什么有些公司永远没有时间来好好地做出软件,而后续却总能挤出时间,金钱和人力来弥补?这是一个谜。

24. 每个人都愿意认为自己的团队拥有顶尖人才,但事实是在所有软件开发人员中有半数的能力都低于平均水平。那么这些人都在哪工作呢?

25. 不要轻易地评估任何人。如果别人请你评估,最合适的回复是:“让我先考虑一下,回头再与您联系吧。”

26. 无论别人施加给你多大压力,都不要给出自己无法兑现的承诺。

27. 如果你手上有很有说服力的数据,而对方几乎没有任何数据的话,你在谈判中就会占据优势地位。

28. 除非你把评估记录下来并将其与实际发生的情况进行比较,否则你将永远是在猜测,而不是在评估。

29. 不能因为觉得对方喜欢听好话,就影响到你对某人的评估。

50 年的软件开发经验带给我的 63 个启示

关于质量与过程改进

30. 关于软件质量:你可以现在就付钱给我,也可以以后再付给我,但是要付得更多。

31. 力求完美;追求卓越。

32. 永远都别被老板或客户说服去做坏事。

33. 质量应该是你的重中之重。高质量的自然结果就是长足的生产力,因为这样团队就不需要浪费太多时间进行返工了。

34. 力求能让一位同辈,而不是客户来发现缺陷。同辈技术评审是一种行之有效的技术,可以提高质量和生产力。

35. 如果和你打交道的人不讲理,那任何软件工程方面的技术都没用。

36. 当人们被要求改变自己的工作方式时,他们的本能反应是问“这对我有什么好处?”但其实这个问法是不对的。正确的问法应该是“这对我们团队有什么好处?”

37. 软件开发人员永远都在寻找出色的工具,但请记住,小傻瓜有了工具以后也只会变成大傻瓜。

38. 当人们不了解当前工作方式所导致的痛点在哪里时,进行流程更改是很难的。就像如果人们不知道自己家里有老鼠,就很难把更好的捕鼠器卖给他们。

39. 问:更换灯泡需要多少名软件过程负责人?答:只需要一个,但前提是灯泡必须愿意被更换。

40. 在朝着新的工作方式发展的过程中,不要低估改变组织文化的必要性和困难程度。实行一套新流程比灌输一种新文化更快。你需要在这两方面都做到成功。

41. 不管是否是出于好意,改进计划如果不能转化为行动那都无济于事。

42. 在许多情况下,常识,良好的判断力,以及经验应当比正式程序更重要。但是,有时候这个程序的存在是有充分理由的。在决定绕过它之前需要先调查一下。

43. 在领导组织采用新的工作方式时,请不断轻柔地施以压力。

44. 能促使人们改变工作方式的最好动力是痛苦。不是人为的,外部施加的痛苦,而是当前工作方式带给团队的非常真实的痛苦。选择那些可以最终减轻痛苦的改善活动吧。

45. 除非你花时间进行回顾,学习经验教训并不断改进团队的流程,否则没有理由来预期下一个项目能比上一个项目做得更好。

46. 你不能一下更改所有内容。找出那些能够带来最大收益的流程变更,并在下个周一开始实施。我没有开玩笑:就是下周一!

47. 对文档模板中采用“缩小以适应”的理念。先从一个丰富的模板开始,用来提醒你多考虑有哪些信息可以包含进去,然后再根据每个项目的规模,性质和需求来进行重塑。

48. 有许多团队都被要求做到事半功倍。不过,通常情况下,他们并没有能让自己事半功倍的方法。如果没有相应的培训和过程改进来提高效率和效果,就不要期望更高的生产力会神话般地自己显现。

49. 适用于四个在同一办公室里工作的人的非正式流程是无法扩展到在不同大陆工作的多个开发团队上面的。

50. 如果软件行业有什么东西是可复现的,那就是在一个又一个的项目上重复地做同样的蠢事。你需要通过回顾来学习,理解,以及不断改进。

51. 当人们不遵循既定流程时,你面前只有三种选择:(1)让人们开始遵循流程;(2)调整流程使其更加有效和实用,然后让人们遵循它;(3)放弃这个流程并不再假装你遵循这个过程。

50 年的软件开发经验带给我的 63 个启示

其他见解

52. 人工智能不能替代真实的事物。

53. 在技术界,如果你领先其他人一个星期,那么你就是大佬了。

54. 今天的“必须马上搞定它”的那种开发项目会成为明天的遗留系统维护噩梦。

55. 软件系统的许多问题都发生在接口上:软件和软件,软件和硬件,软件和人,人和人。这些接口需要好好研究。

56. 人们总是过多地谈论自己的“权利”。而每项权利的另一面都是责任。要以协作的心态去思考以及行动。

57. 一盎司的设计相当于一磅的重构。

58. 要当心“商业周刊式的管理方式”——仅仅因为有人读到了它所承诺的极好结果,就匆忙地在软件开发中采用最热门的新事物。

59. 在拇指和食指之间保持一英寸的距离。在大多数情况下,这就是质量和垃圾之间的唯一区别。只在于多聆听一点,检查一下你的工作,再次运行测试,参考清单,阅读说明,再多问一个问题。通常,这是改善垃圾的唯一方法。

60. 你没有时间去重新犯一遍那些软件从业者之前犯过的错误。阅读并尊重文献。向你的同事学习。慷慨地与他人分享你的知识。

61. 软件开发中计算技术可能占 50%,剩下 50%在于交流沟通。但商业分析是完全在于交流沟通的。我们在计算方面要占得更多。

62. 如果你想自立门户做个独立顾问或承包商,则你需要向全世界宣告自己有空。如果没有人了解你,那不管你业务能力有多好都没用。

63. 在软件行业中,我们经常会假装。我们假装已经找到了合适的利益相关者,他们了解自己的业务目标,并且清楚自己的需求。我们假装合适的人向我们传达了正确的需求,且我们理解并准确地做了记录。我们假装我们的评估是准确的,且我们已经考虑到了所有必要的任务。我们假装所有可能会损害到我们项目的风险都不会真的出现。我不爱假装。有时候,我也不是那么喜欢现实,但我除了现实以外一无所有,所以我必须面对它。让我们停止假装吧。

英文:63 Lessons from 50 Years of Software Experience

原文:https://medium.com/swlh/62-lessons-from-50-years-of-software-experience-2db0f400f706

作者简介:Karl Wiegers,作家,写作内容涵盖软件开发和管理、咨询、自我提升、化学、军事历史等领域,目前还在写一本悬疑小说。

译者:香槟超新星

本文为 CSDN 翻译,转载请注明来源出处。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

很多老师搞直播、录音或者拍视频等不知道用什么软件,我今天做一个干货分享。

之所以说是干货,基于两个标准:

  • 1,经过长时间摸索,比较了两个或以上相似软件,取优胜者;
  • 2,软件符合免费、易上手、效果好的特点。

这确实是一个痛苦的过程,因为本身找的多是“免费版”,又加上国内的网站下载软件,广告和陷阱太多,稍不留意,就会下载一系列狗扯羊肠的软件、游戏,稍微点快了“确定”,就相当于开闸放水,后果是要费时费力清理,还不知留下什么垃圾,对于有“洁癖”的人来说,心里很不爽。

好在疫情待在家,时间还比较充足。

要符合第二个标准也不容易,凡是收费贵的软件,我用不起,躲得起。到驾校学开车,教练说:老师是最笨手笨脚的。这话对年轻人不对,对上了一定年纪的教师来说,还别不爱听,所以,软件太难操作的,我也用不到。最后还要效果不打折扣。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

下面我就按照制作视频的流程:拍视频、录屏、录音、剪辑、加字幕,说说选用什么软件较好,供大家参考。

一、拍视频、做PPT有何要求?

1,要稳;

尽量用支架,凡是托在手上拍的视频,在西瓜视频课里,基本上都会扣分。

我看到很多朋友发布的视频晃动明显,也许自己不觉得,其实不合格,就像没进过驾校,车你会开,但很多动作不标准。

移动的视频最好购买云台做支架,也可以用大疆或GoPro运动相机。

拍视频有个原则:“敌动我不动,敌不动我动。”意思是说,拍动的物,相机不能动,拍静物,相机要动,可以围着静物转动。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

2,注意画面尺寸。

拍抖音小视频,最好用手机竖屏。然而拍超过一分钟的视频,就要用横屏,并且一定要用16:9,否则不合格。

我刚上传PPT讲课视频到西瓜大学的时候,老师一直说尺寸错误,可是没说原因。我感到很奇怪,我录屏的时候,特地选用了16:9的模式啊!

后来从网上学习尺寸知识,终于发现,PPT设置出了问题!

原来无论office还是WPS,默认的PPT打开的页面是4:3,而现在普遍显示屏是16:9,一般的手机,横屏就是16:9,所以没问题,但电脑录屏就出问题,所以要修改。

解决方法:打开PPT,找到:设计→页面设置→幻灯片大小;点下拉三角形,找到“全屏显示(16:9)”,确定。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

二、电脑录屏软件哪个好?

我用的是“EV录屏”。这个软件操作简单,满足全屏、局部任选录屏,可以录制麦克风和系统声音,录完后自动保存在设定的路径。

我之前使用过名气大的会声会影,录影片,效果很差,淘汰。

还试用过傲软、希沃白板、爱剪辑、快剪辑、win10自带录屏,都放弃了,要么收费,要么效果或功能不尽人意。

还是觉得Ev好,录下来的画面很“保真”。只需要看一下“设置”,记住“开始”和“结束”的快捷键,以及调出“悬浮球”,就可以操作了。

注意锁定长宽比哦。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

三、录音软件哪个好?手机如何当麦克风使用?

有的录音软件体积大,有的收费(真不知怎么想的,这年代录音软件还收费,免费的软件多的是)。

最后,经过比较选择,我推荐使用楼月录音软件,界面和操作都简单,没有广告,干净,能录电脑、麦克风或二者都录。

手机如何做麦克风使用呢?

之前有人推荐用QQ,用自己的QQ号呼叫电脑上的QQ号,不过,一个人必须有两个QQ号才行。而很多人,包括我只有一个QQ号,显然行不通。

我推荐使用微信。微信手机里有个分身功能,一个人的手机可以有两个微信号,那么在电脑上登录一个微信号,然后用手机另一个微信号呼叫语音通话,电脑鼠标点击确认,接通后,手机就可以当麦克风使用了。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

录音也要对效果进行提升,最后谈谈音频编辑软件。

最好的声音处理软件是AU,操作稍微要复杂点,但不搞花里胡哨的编辑,也很简单。

导入要处理的音频文件,选择“效果”,找到“噪音处理”,一路点确定,就可以处理音频中的噪音了。

如果不够,再做一遍。但是不要处理过分,否则声音失真。

但是AU有个致命的缺点,不能同时录制“配乐诗朗诵”,也就是一次只能录制电脑声音或者是麦克风,这点就不如楼月录音软件了。

我之前使用快剪辑,对视频中的声音进行剪辑,去掉和添加,也很不错,操作简单、方便,推荐大家使用。但是缺点是不能降噪等技术处理,只能编辑长短或替换已经做好的声音。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

综合一下以上软件优劣:楼月简单易用,可惜不能编辑;QQ做麦克风,有回声和噪音;AU能录音,降噪,可惜不能同时录电脑和麦克风声音;快剪辑不能录音。

有没有一款软件,既能录三种声音(电脑、麦克风和二者都录),又能处理音频,综合以上软件的功能呢?

那就是Camtasia,中文名字喀秋莎。它能剪辑音频,分割声音和视频,能录音,并做简单的降噪等处理,操作也很简单。最大的缺点就是收费,还很高,美国软件。

我发布的音频(配乐朗诵),就是用它制作的。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

四、语音转文字,文字转语音的软件

将语音转化为文字,我用的是讯飞输入法。

讯飞输入法确实好,可以长时间输入,也可以不连续输入声音,只要你对着手机说话(可以打开微信,对自己发信息),它就会源源不断地变成文字。如果你思维清晰,有话可说,一篇千字文,马上就可以讲出来!

那么,怎么把别人的声音转成文字呢?

1,可以登录讯飞官网,进行转化,要收费,费用是千字0.33元左右,还有试用优惠,可以接受。听说网易见外这个网站也可以做声音转文字,不过我没去试。

2,可以打开手机,打开微信自己的图片,对自己的发信息,点击语音输入,然后用电脑播放声音,把手机对着电脑,声音就变成文字了!

百度也有语音输入法,不过我做个测试,识别率远低于讯飞,就弃用了。

搜狗现在也有语音输入法,我没用。我认为语音输入法,做得最好的肯定是讯飞。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

有的人认为自己的声音不够好,普通话水平有限,希望反向操作:文字转语音。

这我又不推荐讯飞,虽然讯飞语记可以做这个,不过电脑官网上要收费,手机上可以朗读,但是要到出MP3文件,又非常繁琐。

我推荐使用“朗读女”,简单易用,可以调节语速,选男女声音,还可以读外语。

但其实,我现在没有用这样的软件,因为自己的原声最好,哪怕有缺陷,普通话蹩脚都不要紧,因为是“原创”啊,而朗读软件是电脑声音,虽然标准却很死板,别人听得出来。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

五、视频剪辑软件

据说最专业的视频剪辑软件是PR,我也下载使用过,简单的剪辑,加字幕还是可以,但复杂一点就不行。

这个软件体积较大,要学会使用还是要有人教,我承认我觉得难了,所以没有用PR。

爱剪辑名气大,但是有片头片尾的logo,淘汰。

EV录屏做得好,也有EV剪辑,不过收费,而且效果不满意,我也淘汰。

我用得最多的就是快剪辑。快剪辑这个软件确实不错,可以剪辑长短,加转场、少量的字幕,分割音频和画面,并且操作简便,任意点都行。

但是有两个缺点:不能录音,不能方便加字幕,改动设置参数过大,效果会变差。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

六、给视频加字幕软件

加双语字幕,可以用字幕通。

在电脑上给视频加字幕,最好用的是arctime,连PR做字幕也要用到它。

打开arctime,将做好的文本字幕导入视频,点编辑,按住鼠标,随着视频播放念到哪里就松开一下鼠标,字幕就一句一句地加上去了。

不过,如果是长视频,要准备文本,字幕上传之后要调节,也是要费一番努力的。

怎样方便快捷地给长视频加字幕?

我推荐使用快影。剪影因为有logo,直接淘汰。快影只有手机版,所以必须把制作好的视频文件传给手机。

微信传视频有限制,要用QQ,可以实现电脑与手机互传大文件。

打开快影,打开保存到手机里的视频文件,播放,点击自动识别字幕,如果视频里的声音普通话标准的话,很快字幕就加成功了。如果不标准,可以修改。

完成后,保存,再回传到电脑,发布,搞定。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

七、综合性能“一站式解决”最好的软件

从拍摄到发布,有不有哪个软件能身兼数职,“一站式”解决呢?

还是Camtasia。

这个软件能够录屏(跟EV一样),录音(跟楼月一样),并能剪辑和处理长短(跟快剪辑一样)、降噪(效果没AU好)等,功能可谓强大,效果也不错,操作又简单。

我目前就使用Camtasia2019制作“配乐朗诵”——其他软件都没有这个功能。

这个软件还可以直接打开PPT,进行录屏直播。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等

但这个软件最大的缺陷是收费,目前是598元。我曾花了两天时间想找到破解版,但发现一切都是枉然。

这个软件好厉害,基本上所有的破解版和补丁,最后都指向2019版,当你想下载补丁时,它还是把你指向官方网站,指向正版下载!

最后被它折腾得喟然长叹,只好试用30天再说。

我的反思是,珍惜第一次安装,如果第一次没有破解成功,以后就基本不可能。大家可以搜索,安装成功后,记住不要轻易打开,破解后才行。

这就是我这两个多月来试用软件的总结,分享出来,想做视频和直播的老师朋友一定可以少走弯路。当然,一孔之见,不到之处,还请方家指正。

免费好用软件!录屏、视频剪辑、声音文字互转、加字幕等


※大希教育园地/ 原创,欢迎关注,谢谢留言,评论和转载。

程序员Windows必装软件!很实用,软件太好用了

Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。

所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了,这可都是提升你幸福感的高效率生产力工具哦!

NO、1 ScreenToGif

屏幕,摄像头和白板录像机集成编辑器

不知道这个有多少人听说过,或者用过,反正我是爱了,没办法,它就是这么的优秀,软件下载下来之后打开是这样的:

程序员Windows必装软件!很实用,软件太好用了

怎么样,是不是心动了,我们使用下录像机:

程序员Windows必装软件!很实用,软件太好用了

看到了吧,我们从名字也能猜到,看这个:

程序员Windows必装软件!很实用,软件太好用了

啥也不说了,老铁们,赶紧下载体验去吧:https://www.screentogif.com/?l=zh_cn

NO、2 Bandizip

应该不少人用过吧,不过,也许就你不知道啊,哈哈,这是个解压缩软件,之前一直被人安利,在此之前我一直使用2345压缩,不知道有没有人跟我一样,不过试了这个之后,确实不错。

觉得像是哥万能的解压缩软件啊,牛杯:

程序员Windows必装软件!很实用,软件太好用了

没有体验的也推荐使用一波的,不骗你的,赶紧试试去吧:https://cn.bandisoft.com/bandizip/

NO、3 TranslucentTB

好,我猜这货应该很少人知道吧,这是个啥呢?人家的功能很单一,就干一件事情,啥嘞?任务栏透明化,对,它就是干这个的,而且也只干这个。

它是调用的Windows API,所以只能Windows用喽,就冲这点,使用Windows的还不赶快用起来,不然多不给面子啊,安装之后在你的状态栏有它的图标,右击:

程序员Windows必装软件!很实用,软件太好用了

任务栏透明化走起来:https://github.com/TranslucentTB/TranslucentTB

NO、4 snipaste

这个啊,使用Windows你可一定要安装啊,简直太好用了,我们平常非常频繁的一个需求就是截图了吧,在此之前我都是使用扣扣截图的,有了它,再也不爱扣扣了,因为它真的很强大,很好用

程序员Windows必装软件!很实用,软件太好用了

F1 截图

F3 贴图

简直爽的不要不要的:https://zh.snipaste.com/

NO、5 Everything

这个应该很多人都熟悉了,因为它也巨好用,因为大家都忍受不了Windows自己那急人的文件搜索吧,用上它,秒变光速,这个啊,人手一个,标配的,真滴,搜东西太方便了。

你看人家的介绍:

轻量安装文件

干净简洁的用户界面

快速文件索引

快速搜索

最小资源使用

便于文件分享

实时更新

还不赶紧爱了:https://www.voidtools.com/zh-cn/

NO、6 listary

这个不知道多少人用过,反正我是把它和Everything作为搭档来的,一般就是使用Everything来搜索文件,但是Everything有个不方便的地方,比如我想打开网易云音乐:

使用Everything

程序员Windows必装软件!很实用,软件太好用了

使用 listary

程序员Windows必装软件!很实用,软件太好用了

所以啊,我是非常喜欢用 listary来搜索应用,然后用Everything来搜索文件,我一直都是这么用的,推荐给你哦:https://www.listary.com/

NO、7 typora

现在都什么世纪啦,你怎么还能不会markdown呢?不行,这个必须会的,你要是不会,都不好意说自己是程序员吧,所以啊,别问了,不会的赶紧补课了,其实很简单的,语法就那么一丢丢,掌握基本的就ok了。

会了markdown语法之后,自然要选一个好用的编辑器了,在Windows上啊,typora可是敢说第一没人敢说第二的存在啊,不过人家真的很好用,使用起来体验很爽,关键人家还完全免费。

我先说了,即使以后它收费,我买了

程序员Windows必装软件!很实用,软件太好用了

强烈推荐哦:https://www.typora.io/

NO、8 PicGo

使用markdown一直有一个痛点,那就是图片的问题,不想word那样可以直接保存图片,markdown不行,如果插入图片,图片在本地会单独存放,以链接的形式插入在markdown中,如果本地图片丢失或者位置变了,那就不显示了。

所以这里就需要一个图床,也就是把图片传上去,弄个链接,然后插入markdown中,那么图床不少,怎么传呢?使用这个工具,只要复制下图片,然后按个快捷键就可以直接将图片上传到你事先设定好的图床上,然后返回给你个链接,可以直接用。

程序员Windows必装软件!很实用,软件太好用了

真的很方便,markdown必备啊:https://molunerfinn.com/PicGo/

NO、9 印象笔记

不说了,必装,这可是我主要的知识管理工具啊,祝愿大象越来越好:

程序员Windows必装软件!很实用,软件太好用了

NO、10 potplayer

这个曾经是我换mac后最为留恋的一个Windows上的软件,因为在mac上实在找不到能够与它媲美的播放器了,真的特别喜欢这个播放器,可惜没有mac版本的,只为Windows服务的啊,一定要安装啊,真的特别强大。

你要仅仅以为它就是个播放器那你就错了,人家的功能强大着嘞,绝对神器级别的播放器,不服的你说一个来比比:

程序员Windows必装软件!很实用,软件太好用了

认准黑人,谨防假冒

走起来:https://potplayer.daum.net/?lang=zh_CN

NO、11 火绒

这个之前也一直被人安利确实挺不错的,在如今很多杀毒软件都被叫流氓的情况下,火绒能被很多人推荐,说明它还是值得信赖的,大家使用Windows应该都有一个不好的体验:

总是有烦人的各种弹窗

使用火绒,帮你搞定

程序员Windows必装软件!很实用,软件太好用了

你还别说,真挺好用:https://www.huorong.cn/

还不过瘾?放大招

以上可都是我使用Windows经验收藏啊,还没看过瘾,没办法了,只能拿出必杀技了:

程序员Windows必装软件!很实用,软件太好用了

就这一个图片就感觉很酷,不信你去看看吧:https://love.appinn.com/

觉得好的记得回来给我点赞哦!