evanzheng
级别: 略有小成
精华主题: 0
发帖数量: 288 个
工控威望: 399 点
下载积分: 4278 分
在线时间: 183(小时)
注册时间: 2010-02-27
最后登录: 2024-04-30
查看evanzheng的 主题 / 回贴
楼主  发表于: 2017-07-08 13:18
图片:
这是什么问题??? 请教各位大大
alian9631
电控编程\设计
级别: 略有小成
精华主题: 0
发帖数量: 87 个
工控威望: 419 点
下载积分: 5932 分
在线时间: 93(小时)
注册时间: 2015-07-08
最后登录: 2024-04-30
查看alian9631的 主题 / 回贴
1楼  发表于: 2017-07-08 13:40
指令要放到 mian 内,不要放到外面
evanzheng
级别: 略有小成
精华主题: 0
发帖数量: 288 个
工控威望: 399 点
下载积分: 4278 分
在线时间: 183(小时)
注册时间: 2010-02-27
最后登录: 2024-04-30
查看evanzheng的 主题 / 回贴
2楼  发表于: 2017-07-08 14:02
引用
引用第1楼alian9631于2017-07-08 13:40发表的  :
指令要放到 mian 内,不要放到外面



放在MAIN里面也是会出错。第一次使用宏指令。
我的功能是  人机第一次启动时宏指令执行。 使用SETDATE向MODBUS地址内赋值1就可以了。  不知道哪位大神可以帮忙写个出来学习下  
万分感谢
tyw123456
级别: 家园常客

精华主题: 1 篇
发帖数量: 113 个
工控威望: 797 点
下载积分: 312 分
在线时间: 256(小时)
注册时间: 2016-09-13
最后登录: 2022-07-13
查看tyw123456的 主题 / 回贴
3楼  发表于: 2017-07-10 08:24
1、要放在mian里面,在mian外面的只能是全局变量或者是子程序
2、你要将某个数值以modbus的形式给4309对吧,那么是给什么数呢?
    正确的写法是setdata(你要给的数值,“MODBUS RTU”,4X,4309,1)
    且你要给的数值不能直接给,例如setdata(1234,“MODBUS RTU”,4X,4309,1)这样就是错误的
   正确的写法是先申明一个函数,然后把这个函数的值给4309
   例如:
   short a
   a = 1234
   setdata(a,“MODBUS RTU”,4X,4309,1)
   这样就是正确的
威纶的说明书里每个功能函数的说明都很详细,你可以仔细看下就会了
[ 此帖被tyw123456在2017-07-10 08:29重新编辑 ]
静水深流
性金哥
级别: 家园常客
精华主题: 0
发帖数量: 74 个
工控威望: 641 点
下载积分: 2040 分
在线时间: 136(小时)
注册时间: 2017-02-13
最后登录: 2024-05-03
查看性金哥的 主题 / 回贴
4楼  发表于: 2017-07-21 10:35
3楼说的很详细