最近几个月公司太忙了,到现在已经连续出差两个多月了。

这个项目这要做mes系统,涉及到产品在机床的加工过程监控,然后led看板显示产品进度。

这里的主角是日本的brother数控机床,服务器按照一定频率读取机床的生产数据,最基本的包括机床的工件产量,开机状态等信息。

后台是Java写的,其中一部分是led显示机床数据,而读取机床数据的部分本来想用dotnet做个Windows服务,可是折腾了很长时间还是没有搞定。

brother机床设备里面是个Linux系统,里面架设有ftp服务,可以从远程pc访问数据库nc文件,第一次用dotnet无法读取,原因是项目所在目录包含中文字符,后来换个位置后可以读取。如今在纯英文目录都不行,换了好几台设备还是不行,一直提示“基础连接已经关闭: 服务器提交了协议冲突”,网上很多资料都说是目录含有中文字符,可是我再三确认没有中文,我用的系统是win10 x64专业版,也有说是使用了代理,我把reqFtp.Proxy = null;还有关掉本地防火墙,主动被动模式都不行。

最后只能放弃,第二天早上突发奇想,用python写个脚本试试,果真见效,只能说dotnet framework 在ftp方面还是存在不少bug。以下是python脚本:

 # coding: utf8
from ftplib import FTP def download(host='192.168.1.5', port=21, user='', pwd='', nc='WKCNTR.NC'):
cnc = FTP()
try:
cnc.connect(host=host, port=port, timeout=10)
except Exception as e:
print(e)
return
try:
cnc.login(user=user, passwd=pwd)
except Exception as e:
print(e)
return
print(cnc.getwelcome())
for name in cnc.nlst():
print(name)
file = open('d:/' + nc, 'w', encoding='utf8') def save_local(line):
file.write(line + '\n')
print(line) cnc.retrlines('RETR ' + nc, save_local)
file.close()
cnc.quit() if __name__ == '__main__':
download(host='192.168.26.5')

下面是新的进展,由于cnc brother的ftp并不稳定,有时会不允许连接,或连接后不允许下载文件,只要出现这种情况,就再也无法回复,只有重启。

《Tcp方式采集CNC兄弟设备数据》

远程监控显示brother数控机床数据的更多相关文章

  1. c# 远程监控(4) 接收端 RTP包重组 分屏显示

    我们在上一期使用RTP协议,并进行了配置,打包了视频数据,这一期我们就对发送的数据进行重组,并显示在接受端上.最后对其进行扩展,支持多客户端视频发送,并在接收端分屏显示.完成远程监控的模拟. 先来个效 ...

  2. c# 远程监控(1) 大纲

    此篇文章主要讲了如何使用C# Winform程序模拟一个远程监控系统,并使用RTP实时传输协议传输数据. 应用场景:远程监控.局域网视频会议.客户端流式缓冲播放 这方面的资料还是有一些,但是都需要整合 ...

  3. Java虚拟机二:使用jvisualvm工具远程监控tomcat内存

    jdk中自带了很多工具可以用于性能分析,位于jdk的bin目录下,jvisualvm工具可以以图形化的方式更加直观的监控本地以及远程的java进程的内存占用,线程状态等信息. 一.配置tomcat 在 ...

  4. DUBBO监控,设置接口调用数据的上报周期

    目录 DUBBO监控,设置接口调用数据的上报周期 dubbo已有的监控方案 针对已有方案的改进 DUBBO监控,设置接口调用数据的上报周期 dubbo是目前比较好用的,用来实现soa架构的一个工具,d ...

  5. VisualVM使用Jstatd和JMX远程监控配置(转载)

    一.Jstatd远程监控服务器配置 jstat可以实时显示本地或远程JVM进程中类装载.内存.垃圾收集.JIT编译等数据.如果要显示远程JVM信息,需要远程主机开启RMI支持,详情如下: 1. 在JA ...

  6. 使用JCONSOLE远程监控JVM

    启动JMS服务 JConsole是从Java 5中开始引入的一个用于对JVM性能和资源消耗进行监控的图形化工具.JConsole可以连接本地的Java程序,也可以连接远程的Java程序.由于是GUI的 ...

  7. 转载:JProfiler远程监控LINUX上的Tomcat过程细讲

    来源于xuwanbest的博客   所谓"工欲善其事,必先利其器",好的工具确能起到事半工倍的作用.我用到的最多的就两个JConsole 和JProfiler .JConsole监 ...

  8. 远程监控 – 应用程序运行状况测量 CSF 博客

    在远程监控基础知识和故障排除中,我们探讨了 Windows Azure 平台提供的基础指标.信息源.工具和脚本,介绍了有关监控和应用程序运行状况的基本原则.我们演示了如何利用这些基本原则对在 Wind ...

  9. jvisualvm远程监控Tomcat

    网上已经有很多这方面的资料,但有些很杂乱,这里做了整理总结. 一.Java VisualVM 概述 对于使用命令行远程监控jvm 太麻烦 . 在jdk1.6 中 Oracle 提供了一个新的可视化的. ...

随机推荐

  1. Spark MLlib 之 Basic Statistics

    Spark MLlib提供了一些基本的统计学的算法,下面主要说明一下: 1.Summary statistics 对于RDD[Vector]类型,Spark MLlib提供了colStats的统计方法 ...

  2. jQuery编程最佳实践笔记

    优化选择器   选择器优化已经不如从前那么重要,因为更多的浏览器实现了document.querySelectorAll()方法,所以选择的重担由jQuery转移到了浏览器. 但是仍然有一些技巧是需要 ...

  3. thymeleaf的常见用法

    1,th:属性名="",就可以直接修改控件的属性,比如 <input th:type="button" th:name="xinxin" ...

  4. SqlParameter的感悟

    1.在更新DataTable或是DataSet时,如果不采用SqlParameter,那么当输入的Sql语句出现歧义时,如字符串中含有单引号,程序就会发生错误,并且他人可以轻易地通过拼接Sql语句来进 ...

  5. [解决方案] pythonchallenge level 4

    http://www.pythonchallenge.com/pc/def/linkedlist.php 查看页面源代码或者点击图片 http://www.pythonchallenge.com/pc ...

  6. SQLAutoCode - error when attempting to generate schema

    I'm trying to auto generate a schema for use in SQLalchemy, I'm using sqlautocode to do this, I use ...

  7. C#字符串截取

    .取前i个字符 ,i); string str1=str.Remove(i,str.Length-i); .去掉前i个字符 ,i); string str1=str.SubString(i); .从右 ...

  8. IOS 宏定义一个单例

    有时候是不是因为频繁地创建一个单例对象而头疼,一种方式要写好多遍?当然你可以用OC语言进行封装.但下面将介绍一种由C语言进行的封装.只要实现下面的方法,以后建单例对象只要二句话. 1.新建一个.h文件 ...

  9. windows 下 putty 登陆服务器 显示matlab图形界面

    本文需要下载 putty.exe 和 pscp.exe :http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Xming 主 ...

  10. git和SVN交互(待完善)

    右键 git bash here 然后从SVN同步代码,git status命令,用来确认版本库状态 右键 --> TortoiseGit -->  show log 打开日志  查看gi ...