登录
首页 人机界面 人机界面
回帖 发帖
正文

主题:威纶通宏指令

点击:6633 回复:14

请问各位如何用宏指令将威纶通屏内的年(LW-9022)、月(LW-9021)、日(LW-9020)的实时值分别传送到松下FP-X系列PLC寄存器DT100、DT101、D102内
14-10-04 10:32
有朋友会的吗?期待你们的解答。
14-10-04 17:09
先用getdata函数读取年(LW-9022)、月(LW-9021)、日(LW-9020)到变量中,再用setdata函数赋值到寄存器DT100、DT101、D102内。
14-10-04 18:54
没有明白,请编写一个样例上传,谢谢!
14-10-05 16:18
macro_command main()   //macro_command 与后面的end macro_command是宏指令格式语法,成对出现
short data[8]          //建立一个缓存区,对于getdata函数与setdata函数操作使用
GetData(data[0], "Local HMI", LW, 9017, 7) //读取HMILW9017开始的7个字的数据
SetData(data[0], "PLC", DT, 100, 7)        //将数组内的数据据写入DT100开始的7个字
end macro_command
编译后保存一个宏名,然后设置触发条件或者通过菜单:元件-PLC控制-新增-控制类型里选择“执行宏指令”,触发地址里选择触发执行宏指令的条件
14-10-06 09:08
谢谢!表情
14-10-06 23:59
笨办法。
点“元件”--“定时资料传送”--填一下就行了
14-10-07 20:30
好方法,谢谢! 表情
14-10-08 10:45
用定时式资料传输是简单快捷的方法,怎么说成是笨方法呢?呵呵!
相当于PLC中有现成的上升沿下降沿指令,不用,却偏偏用常规的编程方法去实现一样,程序臃肿,延长了扫描时间。
14-10-11 22:38
macro_command main()
short mingchen_rw81,pingzhong_lw80,cuxi_rw80
short dingsuA_d128,dingsuB_d129,niandu_d131,qianshenbi_d133,jiaodubianhuatidu_d132,zhouqi1_d164
short zhouqi2_d165,zhixingcishu1_d184,zhixingcishu2_d185,longdaiAxiuzheng_d166,longdaiBxiuzheng_d167
short chaoweixiuzheng_d168,juanraoxiuzheng_d169,a,c,d
float diyijiaodu_rw0,dierjiaodu_rw2
bool nianxiang_m385
GetData(a,"Local HMI",lw,9201,1)//取工艺号
GetData(pingzhong_lw80,"Local HMI",rw,82,1)//取品种
c=a+440
SetData(pingzhong_lw80,"Local HMI",rw,c,1)
GetData(dingsuA_d128,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,128,1)//取定速A
c=a+100
SetData(dingsuA_d128,"Local HMI",rw,c,1)
GetData(dingsuB_d129,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,129,1)//取定速B
c=a+120
SetData(dingsuB_d129,"Local HMI",rw,c,1)
GetData(niandu_d131,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,131,1)//取捻度
c=a+140
SetData(niandu_d131,"Local HMI",rw,c,1)
GetData(diyijiaodu_rw0,"Local HMI",rw,0,1)//取第一角度
c=2*a+460
d=2*a
SetData(diyijiaodu_rw0,"Local HMI",rw,c,1)
GetData(qianshenbi_d133,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,133,1)//去牵伸比
c=a+180
SetData(qianshenbi_d133,"Local HMI",rw,c,1)
GetData(nianxiang_m385,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,200,1)//取捻向
c=a+160
SetData(nianxiang_m385,"Local HMI",RW,c,1)
GetData(longdaiAxiuzheng_d166,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,166,1)//取龙带A修正
c=a+200
SetData(longdaiAxiuzheng_d166,"Local HMI",rw,c,1)
GetData(longdaiBxiuzheng_d167,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,167,1)//龙带B修正
c=a+220
SetData(longdaiBxiuzheng_d167,"Local HMI",rw,c,1)
GetData(chaoweixiuzheng_d168,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,168,1)//取超喂修正
c=a+240
SetData(chaoweixiuzheng_d168,"Local HMI",rw,c,1)
GetData(juanraoxiuzheng_d169,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,169,1)//取卷绕修正
c=a+260
SetData(juanraoxiuzheng_d169,"Local HMI",rw,c,1)
GetData(dierjiaodu_rw2,"Local HMI",rw,2,1)//取第二角度
c=2*a+500
SetData(dierjiaodu_rw2,"Local HMI",rw,c,1)
GetData(jiaodubianhuatidu_d132,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,132,1)//取角度变化梯度
c=a+300
SetData(jiaodubianhuatidu_d132,"Local HMI",rw,c,1)
GetData(zhouqi1_d164,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,164,1)//取周期1
c=a+320
SetData(zhouqi1_d164,"Local HMI",rw,c,1)
GetData(zhouqi2_d165,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,165,1)//取周期2
c=a+340
SetData(zhouqi2_d165,"Local HMI",rw,c,1)
GetData(zhixingcishu1_d184,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,184,1)//去执行次数1
c=a+360
SetData(zhixingcishu1_d184,"Local HMI",rw,c,1)
GetData(zhixingcishu2_d185,"Mitsubishi FX0s/FX0n/FX1s/FX1n/FX2",d,185,1)//去执行次数2
c=a+380
SetData(zhixingcishu2_d185,"Local HMI",rw,c,1)
GetData(cuxi_rw80,"Local HMI",rw,80,1)//去丝线粗细
c=a+400
SetData(cuxi_rw80,"Local HMI",rw,c,1)
GetData(mingchen_rw81,"Local HMI",rw,81,1)//去工艺名称
c=a+420
SetData(mingchen_rw81,"Local HMI",rw,c,1)
end macro_command
用类似的宏指令即可
14-10-24 22:09

上一页下一页

工控新闻

更多新闻资讯