201709-22 模拟工控机的模拟(5):模拟工控机模拟水塔水位控制 在开始用Processing 做那道水塔考题前, 让我重新想一下: 如果它不是考试, 这个水塔是我的产品, 我会写出什么样的控制要求呢? 我会说, 首先, 除自动上水和停止状态外, 水泵应该有强制运转状态. 在液位开关无法工作 (比如明明开关没有过水触点却有导通) 的情况下, .... Read More >
201709-21 模拟工控机的模拟(4):制作交互 现在有了了一个工控机类, 有了一个工控机模拟类, 要模拟出整个工控机系统可能还需要一个上位机类? 但Processing 本身就是一个可以和用户互动的窗口, 所以接下来只要发挥Processing的老本行, 写一套适合于要模拟的系统的界面, 把工控机的控制和模拟出来的机械动作用动画表.... Read More >
201709-20 模拟工控机的模拟(3):工控机的模拟 工控机系统的程序编写完成后,如果条件允许,最好的测试方法可能是把整机抬到现场,把传感器和动作器的接线全部接好,然后在机械乒乓乱响中测试出问题,慢慢调试... ...这当然是不可能的。真实的PLC培训教室会用一盒乐高和小马达和任何他们能淘到的玩具来做一个模型,然后把工控机做成一块训练板.... Read More >
201709-16 模拟工控机的模拟(2):工控机的编程 最早工控机是为了替代基于继电器的控制电路而被发明的。一般继电器有一个电磁铁叫做线圈,有几组三片弹簧金属叫做接点,其中两片在初始状态下受弹簧压力接.... Read More >
201709-16 模拟工控机的模拟(1):什么是工控机 我认为语义上广义的工控机,应该泛指所有参与到工业控制上的计算机。比如如果你做了一个Arduino参与控制了造船厂里的龙门吊,那这个Arduino也该被视为工控机! 狭义上的工控机指可编程逻辑控制器(Programmable Logic Controller, PLC)。从语义上.... Read More >
201709-08 小经验:在 NetBeans 里运行 Processing 程序的步骤 (以 keyboard 范例为例) 我觉得原教旨 Processing 使用者是不应该用 PDE 以外的东西编写 Processing 程序的。 因为我不会是 Processing 程序员,只会是使用 Processing 的艺术家画家或非 CS 类教师学生工程师或其他工作者... 但如果有更方便的工具的话我还会坚持么...?我可.... Read More >
201708-17 关于某公众号指责本论坛的抄袭声明 从昨晚到现在,本人和本论坛一直处于旋涡的中心,真是有幸啊,被人指责抄袭,弄的很多不明真相的吃瓜群众以为发生了什么事情,或者指责我。 关于和Wenzy的纠缠始于2017年年初,当时在微信公众号上问他,可以转载他的文章吗?当时有打算做网站了,所以问了下,他明确表示可以转载,需要注明转载出处。我说好.... Read More >
201708-06 第三期boss学习及分析 首先,也是来为虎牙大大的代码加上注释。 FlowField flow; ArrayList<Vehicle> vlist; PVector center; //中心点 void setup() { size(1200, 600); flow = new FlowField(); vlist = new ArrayList<Vehicle.... Read More >
201707-27 有关openprocessing网站的部分程序说明 本熊猫最近逛openprocessing网的时候发现有些代码直接复制下来不能直接运行,很是纳闷,刚刚解决这个问题,给大家分享一下 例如下面这个 代码: var np = 300; var startcol; function setup() { createC.... Read More >
201707-26 第二期boss代码学习笔记 按照惯例,先上代码和注释。 int R = 100;//花瓣的半径,以窗口的中心为圆心 int r = 5;//小球半径 float x;//坐标x float y;//坐标y float t = -8;//计算坐标的参数 int num = 5;//花瓣数 float.... Read More >
201707-23 第一期boss代码学习笔记 首先是在卡卡大神给出代码之后,学习了一下,在源代码的基础上加上了注释,最后再说一下自己的理解。 //这个数组用来存储最初开始时的点的坐标 ArrayList poop; //定义一个数组,从后面的代码可以看出,这是点的坐标 //这是预设的距离,用来判断两点之间的距离是否小于预设的距离,目的在于是否要绘制三角形 int distance =50; //距离 //用来标记.... Read More >
201707-16 ArrayList动态数组 NameArrayList动态数组Examples// These are code fragments that show how to use an ArrayList. // They won't compile because they assume the existence of a Particle class. // Declaring the ArrayList, note .... Read More >
201707-16 Array数组 NameArray数组 Examplesint[] numbers = new int[3]; numbers[0] = 90; // Assign value to first element in the array numbers[1] = 150; // Assign value to .... Read More >
201707-16 long长整数 Namelong长整数 Exampleslong a; // Declare variable 'a' of type long and assign a large value: //a = 2147483648; // Error: The literal of type int is out of range a = 2147483648L; // Instead, .... Read More >
201707-15 int整数 Nameint整数 Examplesint a; // Declare variable 'a' of type int a = 23; // Assign 'a' the value 23 int b = -256; // Declare variable 'b' and assign it the value -256 int c = a + b; /.... Read More >
201707-15 float浮点数 Namefloat浮点数 Examplesfloat a; // Declare variable 'a' of type float a = 1.5387; // Assign 'a' the value 1.5387 float b = -2.984; //.... Read More >
201707-09 屏幕打印之printArray()函数 函数:printArray(); 释义:打印数组(); 即将数组打印在屏幕上。 举例: int A[] = {1,2,3,4,5,6}; void setup() { printArray(A); } void draw() { }  .... Read More >
201707-09 屏幕打印之println()函数 函数:println(); 释义:打印换行(); 即在屏幕上打印时自动换到另一行。 举例: void setup() { print("I love "); println("Processing."); println("It's so i.... Read More >