按照我的步骤一步一步来,绝对没有什么大问题
程序的创建
双击桌面上的V18图标
在左边点击创建新项目
Project name可以选择更改名称
path可以更改文件程序存放位置
点击完成
点击项目视图
点击添加新设备
选择控制器
选择如图设备类型
点击确定
注:该步直接从硬件plc中读取plc的型号在读取前需要通过网线将电脑与plc进行连接
点击获取
点击开始搜索
选择搜索出的plc
点击detect
点击完成
取消勾选如图方框内的选项
点击下一步
取消勾选如图方框内的选项
点击下一步
选择完全访问
点击完成
PLC的基本配置
双击进入PLC配置界面
如图所示plc自带的两个模拟量变量的地址被自动分配给64到67(稍后会用到这两个变量并传送到ioT2050)
双击plc
左边选择选项栏中选择Perfect interface
在下方如图修改plc的IP地址为192.168.200.10(因为io T2050的IP地址是二百网段所以此时需要将网段与那边设置的相同)
在左边点击system and clock memory
勾选如图对话框以启用系统时钟
勾选启用允许get put访问
程序的设计与调试
点击添加新项目
选择FB块
修改项目名称
点击确定( FB块用来写程序)
再次点击添加新项目
选择DB块
修改名称
点击确定( DB块用来对数据进行储存)
右键DB1
点击属性
取消勾选优化块访问(如果不取消勾选则会导致io T2050与plc的数据通讯不上)
创建两个数据类型为real的数据取名为IW64和IW66(因为plc默认将他的两个模拟量变量分配给IW64和IW66)
双击fb1进入到程序编写界面在指令中找到SCALE_X指令双击添加到程序
找到NORM_X双击添加到程序(由于模拟量中的数值无法直接显示所以我们使用标准化缩放先将模拟量标准化然后再缩放)
按照如图这样添加引脚
注:0和27648代表IW64的最大值和最小值,然后将它的值先缩放存放到MD20,相当于把这个值的大小按照0到27648计算一个百分占比, 0.3和105.2代表实际设备显示器的最小值和最大值然后再把刚刚那个百分比给计算到该指令当中
点击DB1
在下方的界面中按住IW64拖动到out(将最终得到的值存放在db1中)
复制上方两条指令
更改计算值为IW66
更改暂存位置为MD22
最大值和最小值都要重新修改(可和旋转设备上的旋钮至最小和最大以得到它的最小值和最大值)
按住左边的IW66以拖动到out输出位置
双击MAIN块
点击FB1拖动带main程序中点击确定
注:因为所有的程序都需要在主程序中进行调用
结果如图
点击plc-1
点击下载按钮
点击开始搜索
选择搜索出来的PLC
点击下载
点击LOAD
点击完成
点击在线监控按钮
可在最终结果处查看到模拟量的当前值
NODE-RED程序设计
打开浏览器在浏览器的地址中输入192.168点200.1:1880进入到node red编程界面
在左边节点南中选择plc S7IN
拖动到主界面中
双击新添加的节点后点击小号铅笔图标以进入配置界面
修改目标plc的IP地址为192.168点200.10(需要与刚刚的设置相同)
下方配置如图默认填写
点击VARIABLES
点击两次添加按钮
更改读取数据的位置
点击添加
注:我们的数据位置为DB一它的数据类型是real,第一个real的偏移量是0,第二个real的偏移量是4,按照如图要如图填写
选择读取单个变量
点击选择具体要读取的变量
点击完成
拖到debug节点到主界面中
连接两个节点
点击部署
点击调试窗口
可发现当值发生改变时就会出现当前值(可转动设备上的旋钮以观察值的变化)
可转动设备上的旋钮以观察值的变化
框选刚刚添加的两个节点,进行复制粘贴(按住键盘上的ctrl+C后在下放按住键盘中的ctrl+v)
点击S7节点修改下方具体要读取的节点改成reAL4
点击完成
点击部署
注:debug节点会自动更新无需修改
如图所示在调试窗口中可以看到debug2输出了db1,real4模拟量的当前值