木之夏  
海纳百川,有容乃大;壁立千仞,无欲则刚

上位机开发文档 RemoteSoft

上位机开发业务请联系:

WeChat:1075933062(木之夏)


 

1、该软体基于WPF 的 MVVM 框架实现的,使用了mvvmtoolkit 库实现的;

2、需要引用新代机器人的dll 库,关于新代remoteCNC 的配置可以参考连接:https://confluence.syntecclub.com/pages/viewpage.action?pageId=271753920

需要对应的dll 文件可能有差异,所以如果无法连线,请将对应的dll 放置到debug 的根目录替换掉原来的dll

3、关于模拟器如何配置网络使其可以连接软件请参考:

1. 複製一整個模擬器出來 (A模擬器當後台Server B模擬器當前台)
2. 開啟A模擬器的OCAPIServer.exe
3. 開啟B模擬器 系統->維護->網路設定->後台連線設定
4. 輸入電腦IP (可以從cmd輸入ipconfig看到) 點IP連線 重啟
5. 執行RemoteAPI程式 連到同一個IP
這樣應該就能用B模擬器前台和RemoteAPI通訊了

4、编译程序的时候 记得区分X86 和win64 

5、需要将模拟器中的dll 库放到编译的文件夹下面,如:

 

 

 

下面是该软体的维护文档,会记录开发过程中的变量使用,以及函数方法的作用,后期需要维护的时候请参考:

ViewModel 类:

MainViewModel 

该文件是程序的主窗口的ViewModel , 里面的逻辑代码主要是

主界面用到的函数:

1、切换界面 使用的是changePage 函数,当点击主画面的radioButton 时会触发对应的按钮 ChangePage,然后通过传入字符串参数来决定切换到那个Frame

2、开启连线 使用的是 startfun  函数,当点击启动的时候 就会调用该函数 然后会先实例化出cnc 并更新连线的状态变量:connectionStatus 

3、停止连线 使用的是 stopfun 函数,当点击停止的时候,会调用该函数,然后执行 cnc.close()

4、当主窗口尺寸改变的时候,会调用resizeWindow 函数,该函数会根据当前窗口的尺寸来调整内部Ctrl content 的尺寸,也就实现了尺寸的自适应

5、Receive 是收到字串的函数,该函数主要作用是用来接收其他模块传递过来的字串,当然也可以通过传递Messenger来代替事件绑定

调试界面用到的函数:

调试界面 主要有Operate Panel 和 JOG panel

Operate Panel :主要的作用是复位 启动 暂停等操做

所以该面板的按钮调用的是

debugFunction : 该函数通过传入的字符串参数来判断要执行的命令 如:resetcnc

JOGPanel : 主要的作用是进行轴向Jog ,所以有两个函数 一个是当按钮按下的时候,一个是当按钮释放的时候

这里使用的是两个事件, PreviewMouseLeftButtonDown、PreviewMouseLeftButtonUp

这个事件传递的参数为字符串 如:4+、6-

监控画面的主要作用就是监控控制器的一些变量,这里使用函数一直读取数据,函数的名称为:

readDataContinue: 该函数由于是持续所以需要有个判断的标志,如:connectionStatus ,当然如果需要在节省一些消耗的话,可以在将判断标志做更细致的划分

 

状态监控需要使用的变量解释:

axesNum:轴数 

maxAxes:最大轴数

cncType : 机床种类 如:81R

ncVer: 软件版本  如:10.118.20

series:手臂类型   如:Artic

axisName :轴的名称  (string[] ) 如: C1 C2 C3

absoluteCoord : 绝对坐标(float[] ),对应着世界坐标

machineCoord:关节坐标(float[] ),对应着 C1-6的坐标值

loadRate:负载率(float[] ),对应着1-6轴的负载率

connectionStatus:当前连线状态

ipAdress:IP地址

mainProgram:主程序名称

currentProgram:当前程序名称

mode:模式 如:Auto 

cncStatus :cnc状态 如:Ready

alarm:当前报警状态 如 Alarm

powerOnTime:开机时间

cuttingTime:加工时间

cycleTime:循环时间

hasAlarm:是否有报警 如 false

historuAlarmMessage:历史报警message

historuAlarmTime :历史报警的对照时间

 

 

 

关于UI设计提升

UI界面是软件的皮肤,会给人留下很重要的第一印象

下面是小白学习探索路线:

1、学习配色

2、学习文字字体

3、学习UI界面设计

相应的课程会在后面更新

posted on 2022-02-01 22:14  木之夏  阅读(965)  评论(0)    收藏  举报