新建工程
添加串口
添加从站设备
串口参数设置,其它默认
设置从站参数
注意此处设置
下载程序,并运行监视
新建工程
添加串口
添加从站设备
串口参数设置,其它默认
设置从站参数
注意此处设置
下载程序,并运行监视
新建工程
添加串口
串口下,添加主站
添加从站设备
设置串口参数
设置主站(勾选自从重新通信)
设置主站地址
添加通道
关联变量
下载到PLC中
iFIX访问其它页面的控件
关于如何在调度的脚本中访问画面上的对象的属性,请参考下面脚本:
Private Sub FixTimer3_OnTimeOut(ByVal lTimerId As Long)
Dim WrkSpcApp As Object
Set WrkSpcApp = GetObject(“”, “Workspace.Application”)
‘ Get a pointer to the Variable object called Variable1 in the User globals
Dim TargetVar As Object
Set TargetVar = WrkSpcApp.Documents(“PIC1”).Page.FindObject(“TEXT1”)
MsgBox TargetVar.caption
End Sub
iFIX 标签组的使用
标签组件主要解决同一画面中,关联不同数据的问题。
按照下面的步骤做,应该就能理解了
先在数据库管理器中建立两个变量(我这里的下位机是倍福的TwinCAT2,其它的设备当然也可以)
建立一个画面,上面添加一个”数据连接戳”
“数据连接戳”设置如下,注意变量的格式@aaa@
我们在”标签组”建立标签组分表保存两个文件
新建2个按钮
设置打开专家模式,注意启用标签组替换,另一个按钮也如此设置
使用按钮打开不同的画面,就可以显示不同的变量值了。
iFIX VBA读写Excel文件
具体实现代码如下:
Private Sub CommandButton1_Click()
Dim App, Book, Sheet
Set App = CreateObject(“excel.application”) ‘创建Excel进程
Set Book = App.Workbooks.Open(“C:\Users\xudajun\Desktop\cs\Report.xlsx”) ‘指定要打开的文件路径
Set Sheet = Book.Sheets(“Sheet1”) ‘设置活动的工作表
Sheet.Cells(1, 1) = Fix32.Fix.MAINA.F_CV ‘将fix实时数据库内的变量值写到Excel的A1单元格内
CommandButton1.Caption = Sheet.Cells(1, 1) ‘将A1单元格内的数值写到按钮上
Book.Close (True) ‘关闭工作簿
App.Quit ‘结束Excel进程
Set App = Nothing ‘释放对象
End Sub
画面如下
首先备份项目文件
系统菜单》Proficy HMI SCADA-iFIX 5.8》工具》备份与恢复向导
选择”完全备份”然后单击图标
选择要备份到的文件夹,我们用默认的即可,然后确定完成
再次我们要把备份的文件恢复到我们要新建的工程项目文件夹中,我在D盘中已经新建了一个文件夹”控制系统”
单击”工程项目恢复向导”图标
输入要恢复的备份文件,单击”下一步”
按照下图设置
最后配置一下文件路径和启动选项
打开iFIX5.8,单击SCU图标
菜单中,配置》路径,
修改项目路径,然后单击”更改项目”
菜单中,配置》本地启动,修改组态文件的路径
启动项目后,就是我们新建的工程。
软件:软件博途V15.1 指令版本V5.1
硬件:S71215C
服务器端示例
组态网络
建立两个全局数据块
DB3为要设置的参数
DB4为数据存储区(对应的协议中的40001开始的保持性寄存器)
DB3中的con变量定义为TCON_IP_v4类型
变量的具体含义可到帮助中查看
DB4全局数据块要取消”优化的块访问”
在OB1中编写程序
测试结果
如果使用本体上的扩展板,指令使用MODBUS(RTU)。
如果使用扩展模块,指令使用MODBUS。
OB100中调用MB_COMM_LOAD指令,注意MB_DB参数需要调用MD_MASTER生成的背景块,这里可以调用完MD_MASTER再来添加。
主程序中实现从站的读写功能
串口设置
设置保持寄存器
调用指令,注意不要使用modbus(rtu)这个下面的,它适用于信号板的通讯。
子程序
主程序