摘要:
TwinCAT提供了一系列的执行Windows系统命令的方法 Name描述NT_Shutdown关机操作系统NT_AbortShutdown取消关机操作系统命令NT_Reboot重启操作系统NT_GetTime获取本机系统时间NT_SetLocalTime设置本机系统时间NT_StartProcess启动一个Windows的应用程序NT_SetTimeToRTCTime同步本地系统时钟和PC实时时... 阅读全文
posted @ 2017-05-08 10:10
gary_tao
阅读(4989)
评论(0)
推荐(0)
摘要:
使用命令FB_GetHostName来获取本机名称,返回的是一个字符串 使用命令FB_GetAdaptersInfo获取网卡信息(注意采集到的是一个非常复杂的类型,本身是一个数组,数组的每个元素又包含了网卡的物理地址,名称,IP地址等等) 为了显示方便,只显示了有效网卡数量和第一块网卡的名称(在HMI输入的时候,可以利用TwinCAT的自动提示,XXX变量名.就会自动提示所有的... 阅读全文
posted @ 2017-05-08 10:09
gary_tao
阅读(739)
评论(0)
推荐(0)
摘要:
读写注册表和读写文件一样,里面涉及的输入类型比较复杂,需要参考官方范例 sSubKey是指注册表的路径 sValName是指注册表要写入的名值对的名称 eValType是一个枚举类型(而且不是什么常规的枚举类型,你可以输入eValType.XXX来查看所有的类型,但是实际上只要照抄就行了) cbData就是要写入的数据(LEN(XXX)其中XXX就是字符串类型,我们必须按照一样的格式用LEN方法返... 阅读全文
posted @ 2017-05-08 10:08
gary_tao
阅读(1040)
评论(0)
推荐(0)
摘要:
个人认为这条命令做的参数比较混乱,PATHSTR是指可执行文件路径+最终文件名,DIRNAME是指可执行文件路径,最后COMNDLINE可有可无,是指带参数运行启动的文件 测试可以正常运行 阅读全文
posted @ 2017-05-08 10:07
gary_tao
阅读(944)
评论(0)
推荐(0)
摘要:
使用功能块NT_GetTime,NETID填写两个单引号表示本机,START就是一个触发信号,一般的功能块都需要一个上升沿触发执行,最后的输出类型都是让系统自己决定,然后统一把这些变量放到全局变量中(个人认为比较好的编程习惯),以方便查看 采集到的时间是一个比较特殊的类型,我们可以右击查看这个结构体包含的东西,也可以在运行起来之后,看执行完成之后,这个变量中的每个元素数据是否跟本机时间对... 阅读全文
posted @ 2017-05-08 10:06
gary_tao
阅读(1606)
评论(0)
推荐(0)
摘要:
本程序只是在官方范例程序上稍作修改,在官方原有的范例中,演示了多种模式的读写(可以认为CSV文件是比TXT文件需要更多数据量的时候使用,比如记录一个小型的数据库集合) 但是写的比较混乱,甚至没有HMI的界面,读者需要学会快速在程序中找到输入输出,例如TextModeWrite(以文本方式写CSV文件),至少需要定位到触发的BOOL变量,要写入的文件地址和文件夹,要写入的数据这几个变量(其... 阅读全文
posted @ 2017-05-08 10:05
gary_tao
阅读(1322)
评论(0)
推荐(0)
摘要:
TwinCAT提供了FB_FileRead等一系列读写文件的方法,本小程序演示的是多个贝福自带的FBD功能块连起来用的方法,跟前面讲的一样,建议在初始化的时候把所有FBD都复位,准备使用 真正的读取文件流程是打开-读取-关闭,任何一个环节都有可能出错(比如打开文件找不到这个文件,读取文件读到的数据和要放入的变量不匹配,关闭的时候由于文件在使用出错),在写PLC程序的时候,一个状态(比如C... 阅读全文
posted @ 2017-05-08 10:04
gary_tao
阅读(2220)
评论(1)
推荐(0)
摘要:
把编写简单计算器作为入门的第一个范例程序,主要是因为比较简单,而且综合了HMI,数据类型,数据转换,PRG和FBD等功能块的混合等知识,个人认为还是比较适合用来快速上手的。由于是第一个范例,所以视频教程和文档说明都会比较详细(学习能力较强的可以跳着看,后面范例的说明会逐渐减少) 添加一个PLC,随便取个名字 首先是把人机界面做好,最简单的计算器需要实现加减乘除的功能,右击VISUs添... 阅读全文
posted @ 2017-05-08 10:03
gary_tao
阅读(3936)
评论(0)
推荐(0)
摘要:
一般声明字符串都会加一个长度的限制,比如A:STRING(80);至于真实的字符串长度不要超过这个限制即可 在测试中,我演示了两个字符串的方法,CONCAT字符串拼接和REPLACE字符串替换。拼接不用说,替换比较特殊,第一个参数是输入的字符串(要被替换的字符串),第二个参数是要替换成的新字符串,第四个参数是输入字符串的起始替换下标,第三个是替换字符个数。比如'Hello '从第2个字符... 阅读全文
posted @ 2017-05-08 10:02
gary_tao
阅读(1665)
评论(0)
推荐(0)
摘要:
声明和实例化数组的方法如下,你可以声明各种基本类型的数组 i: INT; array1: ARRAY [0..500] OF INT; FOR i := 0 TO 5000 DO array1[i] := i; END_FOR 也可以声明下标不从0开始的数组,比如array2和array3就都不是下标从0开始的数组 事实上,声明多维数组可以使用数组向导,可以自定义1-... 阅读全文
posted @ 2017-05-08 10:01
gary_tao
阅读(1428)
评论(0)
推荐(0)

浙公网安备 33010602011771号