如何判断AB PLC系统中的硬件设备是否在正常工作

前言:PLC控制系统,主要由CPU、本机架I/O模块,分布式I/O模块,通信模块,或其他设备(如:伺服驱动器、交换机、第三方设备)等组成,如何判断这些设备是否工作正常?或是一旦出现故障,能在第一时间判断故障设备出在哪里?为排查故障节省时间,提高效率,降低停机时间,在大型项目中维护,尤其重要。本文,将分享一种如何判断AB PLC控制系统中的硬件设备是否在正常工作的方法。 一、使用方法 即通过编写GSV指令访问模块对象,硬件组态及编程注意事项: 1. 模块对象能提供有关模块的状态信息; 2. 模块
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

我为什么要开始写博客了——一个软件工程大三学生的自述

  现在是2019/4/5/21:22,也正是清明小长假的第一天夜晚,我正处在学校的实验室里,敲下这篇应该算是我的第一篇博客。三十平左右的实验室里,除我之外还有三位同学,巧的是,他们都是我的同班同学,不巧的是,他们都选择了考研,而我,选择毕业后就就业。是的,我或多或少有些迷茫,作为一个三本大学的在读生,我选择的道路是否正确,现在已是大三下学期了,我即将迈向社会,我是否已经有能力,是否已经准备好了进入社会了,未可知。那既然道路已经选好了,无论如何,都应该做准备了。这三年,我到底有没有习得一生本领
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

BZOJ 4326 运输计划

二分答案+树链剖分+树上差分 我们假设x是最小的花费,可以想到给定x,所有运输计划中花费大于x的计划必须经过虫洞,且最长的一条的花费减去虫洞所在边的花费要小于等于x 那么对于x,虫洞所在的位置肯定是确定的,假设x可以取更小,那么就没有一个合法方案可以放虫洞,x取更大,显然该方案也合法,这是一个明显符合单调性的问题,我们可以用二分答案求解。 其实最大值最小就是答案具有单调性的特征啦。。 通过上述分析,我们可以确定虫洞所在位置就是花费大于x的运输计划的交,即该边被覆盖次数等于花费大于x的运输计划数
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

Tomcat8源码笔记(三)Catalina加载过程

之前介绍过 Catalina加载过程是Bootstrap的load调用的 Tomcat8源码笔记(二)Bootstrap启动 按照Catalina的load过程,大致如下: 接下来一步步分析加载过程 一.initDirs 从系统环境变量、VM参数中读取java.io.tmpdir, 并校验文件夹合法性; 未指定java.io.tmpdir,会抛出异常,所以我们启动时指定VM参数: -Djava.io.tmpdir=E:/Tomcat_Source_Code/apache-tomcat-8.0.
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

Sign Up Account In CloudAMQP

CloudAMQP 有多种账号级别,请参考下面的链接的内容访问你可以注册的级别:https://www.cloudamqp.com/plans.html 作为测试来说,你可以注册免费的的消息。 你可以选择免费的账号。 输入电子邮件 在注册界面中输入电子邮件后单击 Sign Up 来创建账号。 到邮箱中检查 当你输入电子邮件提交后,系统将会发送一个电子邮件到你提交的邮箱中。 你可以到你的电子邮箱中查看发过来的电子邮件。 系统提示电子邮件已经发送成功。 电子邮箱中收到的进行注册的电子邮件。 单击邮
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

web服务器初识

静态元素:.html .img js css swf mp4 --->浏览器自身可以解析 动态元素:.php .jsp .cgi .asp php SQL ---->浏览器不能直接解析,需要借助中间件完成编译 1.常见的web service: nginx(Tengine)、Apache、IIS 2.常见的中间件: php:PHP-fpm、HHVM jsp:Tomcat、JBOSS、Resin、IBM WebSphere 3.常见的组合方式: LNMP (Linux + Nginx + MyS
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

JavaWeb学习日记----XML的解析

XML的解析简介:   在学习JavaScript时,我们用的DOM来解析HEML文档,根据HTML的层级结构在内存中分配一个树形结构,把HTML的标签啊,属性啊和文本之类的都封装成对象。   比如:document对象,element对象,属性对象,文本对象,Node结点对象 我们通常有两种方式来解析XML:DOM和SAX   DOM解析方式:     其实跟HTML差不多的,也是根据XML的层级结构在内存中分配一个树形结构,把XML的标签,属性和文本都封装成对象。     缺点:如果文件过
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

P4172 [WC2006]水管局长(LCT) P2387 [NOI2014]魔法森林(LCT)

P4172 [WC2006]水管局长 LCT维护最小生成树,边权化点权。类似 P2387 [NOI2014]魔法森林(LCT) 离线存储询问,倒序处理,删边改加边。 #include<iostream> #include<cstdio> #include<cstring> #define rint register int using namespace std; inline void Swap(int &a,int &b){a^=b^=a^=b;} void read(int
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

逐步构建一个“铜墙铁壁”的单例模式

单例模式被公认为是设计模式中最简单的一种,用于保证系统中,某个类只有一个实例,运用非常广泛。 单例模式,往简单了说,其实关键就是,控制构造函数的访问权限,然后对外提供统一的访问点。 但其实,写好一个单例模式,并没有大家想的那么简单。下面,通过一步步的迭代优化,从线程安全和防破坏两个维度,逐步的实现一个“铜墙铁壁”般牢固的单例模式demo。 主要包含如下几块内容: 普通饱汉式和饿汉式 线程安全的饱汉式 (加锁和DCL) 静态内部类方式 单例模式的破坏 终极大法:枚举 一把无坚不摧的矛:Unsaf
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

通过观察者模式实现配置中心的及时响应

一:背景描述 大家在日常的Java后台开发,少不了各式各样的配置文件,例如spring的xml配置文件和properties配置文件。 一般来说,预期会时不时改变的数据都会抽取放入到配置文件中,而不是写死。例如线程池的corePoolSize,maxPoolSize等等,当发现段时间任务数量迅速上升,而硬件资源利用率不高时,一般都会将线程池的线程数量调大点。 但是,spring的properties文件有个缺陷,必须得重启才能生效。对于频繁变化的配置信息,并不合适。 为了解决这么个问题,一般各
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

模型评估指标:P-R曲线和ROC曲线

在机器学习建模中,模型评估指标用于评估不同模型的优劣。 在分类任务中,最简单的评估指标莫过于错误率和精度了,错误率表示的是错误分类的样本个数占总样本个数的比例,精度则是1减去错误率。 错误率和精度的优点是:它们不仅仅适用于二分类问题,也同样适用于多分类问题。 但是单单看错误率和精度两个指标无法很好的对模型进行合适的评估。一方面,现在不少的模型最终都是预测一个类别的概率值,为了计算错误率和精度,得设定一个阈值,以便确定预测的正例和反例。这样相当于引入了一个新的超参数,会增加复杂性和不确定行。 另
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

任务不断失败重试导致雪崩效应

大家在开发工程中,一般都使用过类似Mq的消息中间件产品,或者自己开发处理数据的定时任务。 它们一般的流程都是:每隔一段时间,去数据库获取有效的任务,然后执行,执行完成之后,删除任务或者将任务设置为失效。 那么这就可能存在一个潜在的风险:“雪崩效应”。 试想一下如下场景:我有个定时任务,每隔1s去数据库获取最早创建的并且有效的任务,然后执行任务。之所以获取最早创建的,是因为如果获取最新的任务,那么旧的任务可能就一直没机会执行了。 如果这个任务有问题,执行失败了,就会导致上游调度系统不断的获取到这
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

数据结构与算法-queue

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cj5785/article/details/89036519 队列和stack类似,stack是先进后出,而queue的先进先出,也是一种特殊的线性表 基本概念 概念 队列是一种特殊的线性表 队列仅在线性表的两端进行操作 队头(Front):取出数据元素的一端 队尾(Rear):插入数据元素的一端 队列不允许在中间部位进行操作 常用操作 销毁队列 清空队列 进队列 出队列 获取队头元素 获取队列
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

数据结构与算法-排序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cj5785/article/details/89036597 排序是计算机内经常进行的一种操作,其目的是将一组无序的数据元素调整为有序的数据元素 排序的概念 排序数学定义:假设含n个数据元素的序列为{ R1, R2, ···, Rn} 其相应的关键字序列为{ K1, K2, ···, Kn}这些关键字相互之间可以进行比较,即在它们之间存在着这样一个关系 :Kp1 ≤ Kp2 ≤ ··· ≤ Kp
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

shell-变量,字符串,数组,注释,参数传递

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cj5785/article/details/89036721 Linux的Shell有很多种,常见的有Bourne Shell Bourne Again Shell C Shell K Shell Shell for Root 等,其中Bourne Again Shell,由于易用和免费,Bash在日常工作中被广泛使用,本系列文章就是基于B Shell进行探究的 linux命令集成 之前所讲的的
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

shell-运算符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cj5785/article/details/89036726 原生shell不支持数学运算,一般通过其他命令得以实现 shell运算概述 shell内的运算通常由expr命令实现 val=`expr 2 + 2` echo $val 这里值得注意的有两点,第一,在计算时候,因子之间必须存在空格,第二,这个计算是要让外部去执行的,所以放在反引号之间 这里会有三种常见写法 val1=`expr 2
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

shell-流程控制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cj5785/article/details/89036736 shell里面也有流程控制,其使用方法与C和Java类似,不过也存在差别 if else if 语法格式 if condition then command1 command2 ... commandN fi if语句也可以写在一行 if [ $(ps -ef | grep -c "ssh") -
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

shell-常用命令,重定向和文件包含

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cj5785/article/details/89036741 shell的知识点并不多,这里简单介绍一下常用的一些东西 常用命令 echo 显示普通字符串 echo "test" 显示转义字符 echo "\"test\"" 显示变量 echo "$key" 显示换行 echo -e "OK! \n" # -e 开启转义 显示不换行 echo -e "OK! \c" # -e 开启转义
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

NDK学习笔记-C语言

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cj5785/article/details/89048638 本文简要回顾了C语言的一些注意事项和理解细节,不再赘述C语言的所有语法 头文件 头文件作为引入文件,在编译的时候,加载到源代码,参与编译 在VS2013中可以看到,当引入头文件时候,只能看到函数的声明,其实现是在编译时候查找的 C的动态库函数不可重名,而C++可以,这是因为C++有命名空间的存在,而C没有 //引入头文件 #inclu
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0

NDK学习笔记-JNI开发流程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cj5785/article/details/89048657 JNI(Java Native Interface)Java本地化接口,Java调用C/C++,C/C++调用Java的一套API接口 实现步骤 在Java源文件中编写native方法 public native static String getStringFromC(); 到Java源代码src路径下,使用javah命令生成.h
分类: 其他 发布时间: 04-05 23:01 阅读次数: 0