本论文提出的“基于PLC的工业以太网控制的实现”,是通过研究工业以太网与西门子S7-300系列PLC,最终实现交通灯信号控制。安装有STEP7软件的上位机通过以太网与CPU315-2DP的以太网部件连接,在CPU315之间实现硬件组态。并在计算机中利用STEP7软件编写程序。利用计时器、比较指令等方法模拟交通灯控制,并将此模拟程序下载到PLC的CPU中,实现基于PLC的工业以太网控制交通灯信号。
上传时间: 2014-01-08
上传用户:
C++完美演绎 经典算法 如 /* 头文件:my_Include.h */ #include <stdio.h> /* 展开C语言的内建函数指令 */ #define PI 3.1415926 /* 宏常量,在稍后章节再详解 */ #define circle(radius) (PI*radius*radius) /* 宏函数,圆的面积 */ /* 将比较数值大小的函数写在自编include文件内 */ int show_big_or_small (int a,int b,int c) { int tmp if (a>b) { tmp = a a = b b = tmp } if (b>c) { tmp = b b = c c = tmp } if (a>b) { tmp = a a = b b = tmp } printf("由小至大排序之后的结果:%d %d %d\n", a, b, c) } 程序执行结果: 由小至大排序之后的结果:1 2 3 可将内建函数的include文件展开在自编的include文件中 圆圈的面积是=201.0619264
标签: my_Include include define 3.141
上传时间: 2014-01-17
上传用户:epson850
Linux下C语言编程--时间概念,包括时间表示,时间测量,计时器的使用三部分内容。仅供参考。
上传时间: 2013-12-17
上传用户:1079836864
工作原理: 脉冲输入,记录30个脉冲的间隔时间(总时间),LED显示出来,牵涉到数码管的轮流点亮,以及LED的码。输入端口一定要用个 74LS14整一下,图上没有。数码管使用共阴数码管。MAXPLUS编译。 测试时将光电门的信号端一块连接到J2口的第三管脚,同时第一管脚为地,应该与光电门的地连接(共地)。 开始测试: 按下按键,应该可以见到LED被点亮,指示可以开始转动转动惯量盘,等遮光片遮挡30次光电门后, LED熄灭,数码管有数字显示,此为时间值,单位为秒,与智能计时器的连续脉冲测试模式中的T30值进行比较。 再按下按键即可进行下一次测量。 水平有限,见笑。
上传时间: 2015-04-30
上传用户:banyou
数字运算,判断一个数是否接近素数 A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its digits is 3, which divides 111. We can also specify a number in another base b, and a number in base b is a Niven number if the sum of its digits divides its value. Given b (2 <= b <= 10) and a number in base b, determine whether it is a Niven number or not. Input Each line of input contains the base b, followed by a string of digits representing a positive integer in that base. There are no leading zeroes. The input is terminated by a line consisting of 0 alone. Output For each case, print "yes" on a line if the given number is a Niven number, and "no" otherwise. Sample Input 10 111 2 110 10 123 6 1000 8 2314 0 Sample Output yes yes no yes no
上传时间: 2015-05-21
上传用户:daguda
源代码\用动态规划算法计算序列关系个数 用关系"<"和"="将3个数a,b,c依次序排列时,有13种不同的序列关系: a=b=c,a=b<c,a<b=v,a<b<c,a<c<b a=c<b,b<a=c,b<a<c,b<c<a,b=c<a c<a=b,c<a<b,c<b<a 若要将n个数依序列,设计一个动态规划算法,计算出有多少种不同的序列关系, 要求算法只占用O(n),只耗时O(n*n).
上传时间: 2013-12-26
上传用户:siguazgb
c语言版的多项式曲线拟合。 用最小二乘法进行曲线拟合. 用p-1 次多项式进行拟合,p<= 10 x,y 的第0个域x[0],y[0],没有用,有效数据从x[1],y[1] 开始 nNodeNum,有效数据节点的个数。 b,为输出的多项式系数,b[i] 为b[i-1]次项。b[0],没有用。 b,有10个元素ok。
上传时间: 2014-01-12
上传用户:变形金刚
crc任意位生成多项式 任意位运算 自适应算法 循环冗余校验码(CRC,Cyclic Redundancy Code)是采用多项式的 编码方式,这种方法把要发送的数据看成是一个多项式的系数 ,数据为bn-1bn-2…b1b0 (其中为0或1),则其对应的多项式为: bn-1Xn-1+bn-2Xn-2+…+b1X+b0 例如:数据“10010101”可以写为多项式 X7+X4+X2+1。 循环冗余校验CRC 循环冗余校验方法的原理如下: (1) 设要发送的数据对应的多项式为P(x)。 (2) 发送方和接收方约定一个生成多项式G(x),设该生成多项式 的最高次幂为r。 (3) 在数据块的末尾添加r个0,则其相对应的多项式为M(x)=XrP(x) 。(左移r位) (4) 用M(x)除以G(x),获得商Q(x)和余式R(x),则 M(x)=Q(x) ×G(x)+R(x)。 (5) 令T(x)=M(x)+R(x),采用模2运算,T(x)所对应的数据是在原数 据块的末尾加上余式所对应的数据得到的。 (6) 发送T(x)所对应的数据。 (7) 设接收端接收到的数据对应的多项式为T’(x),将T’(x)除以G(x) ,若余式为0,则认为没有错误,否则认为有错。
上传时间: 2014-11-28
上传用户:宋桃子
欧姆龙最新PLC CPH1系列hostlink应用例子,用于编写上位机控制软件,通过串口直接控制PLC。用vc编写,方便转化为其他语言。 包括内容: 1:自封装串口类(来源于网络,做了适当修改) 2:多线程,线程间同步,通讯等。 3:生产者消费者模型应用,环形缓冲队列应用 4:欧姆龙hostlink通讯通讯同步处理,FCS校验值计算,各种hostlink指令使用示例。 5:线程消息处理类封装。 6:windows程序中带console调试界面,可把调试信息输出到控制台窗口及文件。 7:windows界面调试工具。(win32多线程程序设计一书中WM_COPYDATA例子封装,运行程序前启动目录中CopyRecv程序。) 8:自封装高精度计时器。(QueryPerformanceFrequency,QueryPerformanceCounter) 9:其他详见代码,此测试程序对初学者非常有帮助,而请大虾多指教。 e-mail:m__point@163.com
上传时间: 2013-12-25
上传用户:gaome
本程序分为界面和控制器核心两部分 一、界面部分功能主要有: (1)显示控制器核心数据和参数 (2)与用户交互,可以调节初始输入温度值,并将温度变化率清零以便进行新一轮的模拟。 界面使用了定时器。开启模拟时候,每隔一秒,触发一次计时器消息,完成下列工作: 1. 将界面上的当前温度映射为模糊控制器的输入温度 2. 输出当前温度,当前温度变化率 3. 调用模糊控制,得到控制器输出值,将其乘以m_fFuelEffect (燃料输出对温度变化率的影响率,目前设置为0.3),得到变化率的变化,加到当前温度变化率上,得到新的变化率。 4. 更新变化率,更新温度。将结果映射到界面上。 5. 记录相关数据并以图形、数字方式输出。 二、控制器核心用到的类有 (1)Rule_Func_Single 将简单的函数包装成类,方便后面使用。实现了 NB, NS, ZO, PS, PB 等梯形函数,以及常值函数。 (2)Grading_Func 继承自Rule_Func_Single类,比基类增加一个输入参数,指明梯形函数属于Input, Delta或者Output 。 (3)Rule_Function 将两个Grading_Func结合在一起,进行模糊与或模糊或等模糊逻辑操作,并输出结果。
上传时间: 2014-11-01
上传用户:Yukiseop