05 2017 档案

摘要:切换到论坛-版块管理,记住要只显示的板块的gid(比如我的是36) 为某个主导航设置一个单独的php页面(名字自己取) 如果这个页面内容跟首页forum.php完全一样,只是第三行增加了一句话 虽然上面的方法能够显示页面的一部分,但是想要另外放一些自己的内容就很难了,你点击这个新的页面,本质上还是首页forum.php。更好的方法是DIY一个页面,比如ABC.php(... 阅读全文
posted @ 2017-05-11 16:35 gary_tao 阅读(375) 评论(0) 推荐(0)
摘要:点击搜索,然后输入关键字,注意要全选或者部分选择表(一个数据库的表),点击右下角的执行 会提示有多少个匹配,可以在浏览器中直接搜索"1个匹配"来定位到哪个数据表找到了匹配项,然后浏览 阅读全文
posted @ 2017-05-11 16:01 gary_tao 阅读(249) 评论(0) 推荐(0)
摘要:界面-风格管理,然后点击默认模板的编辑,在正常字体和小号字体前面加上你要的字体(比如微软雅黑,XXX,XXX),挨个排到后面,如果前面的字体没有则显示后面的 修改之后的效果(注意你不要在页面定义别的CSS文件再覆盖这个已有的字体) 阅读全文
posted @ 2017-05-11 16:00 gary_tao 阅读(465) 评论(0) 推荐(0)
摘要:进入后台,点击用户,用户管理,搜索admin这个用户找到,然后点击详情 输入新密码即可(无需验证老的密码) 阅读全文
posted @ 2017-05-11 16:00 gary_tao 阅读(534) 评论(0) 推荐(0)
摘要:如果所有diy都不想要了,手动清空_common_block、_common_diy_data与_common_template_block表,然后删除\data\diy\下的所有子文件夹,保证你以前所有的diy干干净净,就像从未diy过的disciz x。以后删除diy的内容时,老老实实先删模块,再删框架,不要梦想直接删框架就会连模块一起帮你删掉,至于以为前台diy的"清空"真能清空的,和傻子没... 阅读全文
posted @ 2017-05-11 15:59 gary_tao 阅读(535) 评论(0) 推荐(0)
摘要:下载我提供的TCRtime.sys文件,替换掉TwinCAT/Driver目录下的原有文件(原有文件要小一点,这个是159KB的) 如果你同时也安装了TwinCAT3,请不要替换这个,他是398KB的,而且TwinCAT3不会导致蓝屏 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: ht 阅读全文
posted @ 2017-05-08 11:37 gary_tao 阅读(4247) 评论(0) 推荐(0)
摘要:打开新的解决方案,找到tszip文件 提示错误Advanced Setting时越过结尾 到这里一般VS会卡死 但是我们已经可以得到解压出来的文件夹,其中包含PLC的完整项目文件夹,可以新建一个TwinCAT项目之后复制过去 然后就可以在PLC上右击加载对应的PLC项目 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://... 阅读全文
posted @ 2017-05-08 11:34 gary_tao 阅读(1645) 评论(0) 推荐(0)
摘要:删除所有中文注释,有中文注释则不一定能编译成功。 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960 邮箱:acetaohai123@163.com ... 阅读全文
posted @ 2017-05-08 11:34 gary_tao 阅读(565) 评论(0) 推荐(0)
摘要:新建一个项目,是不会自动把FBD对应名称的模块识别成标准功能块的 你需要引入相应的类库重新输入FBD 然后才会自动生成 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: ... 阅读全文
posted @ 2017-05-08 11:33 gary_tao 阅读(504) 评论(0) 推荐(0)
摘要:最常见的是定义一个全局变量,然后跟对应的变量绑定,比如我定义了一个SINT型的变量ControlWord 数值是8,定义好之后编译一下,可以发现PLC程序中或多出来这个变量(MAIN.ControlWord就是我们定义的输出型变量,注意AT%Q*表示输出型,AT%I*表示输入型) ControlWord AT%Q*:SINT:=8; 随后我双击这个变量,Linked to中找到要绑定的变... 阅读全文
posted @ 2017-05-08 11:32 gary_tao 阅读(861) 评论(0) 推荐(0)
摘要:右击桌面右下角的TC2图标,切换到PLC Configuration,然后在Plc Settings中设置数量为4(TC2最多可以运行的数量是4个),然后点击Apply 可能需要输入登录用户名和密码,点击完成 点击激活配置重启TC2 System Manager 在具体程序中点击Online,Choose Run-Time System,可以选择四个PLC中的一个 ... 阅读全文
posted @ 2017-05-08 11:32 gary_tao 阅读(2344) 评论(0) 推荐(0)
摘要:最常见的是定义一个全局变量,然后跟对应的变量绑定,比如我定义了一个SINT型的变量ControlWord 数值是8,定义好之后编译一下,可以发现PLC程序中或多出来这个变量(MAIN.ControlWord就是我们定义的输出型变量,注意AT%Q*表示输出型,AT%I*表示输入型) ControlWord AT%Q*:SINT:=8; 随后我双击这个变量,Linked to中找到要绑定的变... 阅读全文
posted @ 2017-05-08 11:28 gary_tao 阅读(1891) 评论(0) 推荐(0)
摘要:在TwinCAT2中,(*中间输入注释*),也可以用这种方法批量注释,在TwinCAT3中,使用//即可 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960 邮箱:a... 阅读全文
posted @ 2017-05-08 11:28 gary_tao 阅读(1891) 评论(0) 推荐(0)
摘要:为了更好的监控变量,可以打开ScopeView即变量监控器 添加一个Scope View,然后右击添加一个Channel 我们在之前登录的时候可以选择Run-Time的端口(默认是801) 这里变量监控也要设置获取的端口是801的端口(一共最大可以使用四个端口) 用同样的方法添加对其他变量的监控,注意点击Reload可以刷新程序中的所有变量,然后单击变量可以... 阅读全文
posted @ 2017-05-08 11:27 gary_tao 阅读(1492) 评论(0) 推荐(0)
摘要:在某个轴上双击,切换到Settings,然后可以再Unit中修改为角度,弧度,mm 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960 邮箱:acetaohai123... 阅读全文
posted @ 2017-05-08 11:26 gary_tao 阅读(702) 评论(0) 推荐(0)
摘要:工具-选项 TwinCAT,PLC Environment,Text editor,然后在文本区域中修改字体 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:9103589... 阅读全文
posted @ 2017-05-08 11:23 gary_tao 阅读(694) 评论(0) 推荐(0)
摘要:在某个轴的Enc上双击,可以修改Scaling Factor Numerator 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960 邮箱:acetaohai123@... 阅读全文
posted @ 2017-05-08 11:20 gary_tao 阅读(645) 评论(0) 推荐(0)
摘要:右击Tasks,添加一个新的Task,可以设置这个新的任务的扫描周期,比如100ms 右击PLC的整个的Project,然后Add一个Referenced Task,选中你新建的Task 在POU里面新建程序(比如AAAAA这个Program),然后把这个PRG按住之后拖到TaskLagrange下面即可(可以发现Standard MAIN也是一样的,就是Main的Task执行... 阅读全文
posted @ 2017-05-08 11:16 gary_tao 阅读(1150) 评论(0) 推荐(0)
摘要:添加一个Scope YT NC项目 默认添加的就是对Axis_1的监控,位置,速度和加速度都有,可以删除模长的监控(Position modulo) 点击Record就可以记录曲线了(要停止记录也是点这个按钮) 可以平移,缩放视图,还可以保存监控数据 放大之后可以看到ACTPOS和SETPOS的差别,就是实际位置和理论位置的差别,此外还可以看到速度,加速度的... 阅读全文
posted @ 2017-05-08 11:15 gary_tao 阅读(1282) 评论(0) 推荐(0)
摘要:DRAND函数可以产生0-1的随机浮点数 DRAND的输入Seed有什么意义? 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960 邮箱:acetaohai... 阅读全文
posted @ 2017-05-08 11:13 gary_tao 阅读(991) 评论(0) 推荐(0)
摘要:首先写好简单的程序,比如A=10,然后A每次都会递减,C是SQRT(A),这样当A时负数的时候就会异常了,点击PLC-Windows-断点 点击新建,然后可以设置断点的位置(注意程序写好之后先运行一下或者F6编译一下,否则POU会有很多很乱,位置不可选) 把程序装入PLC但是不运行程序,然后等一会可以按那个小手,小手的作用是让断点使能(如果不先使能,马上就跑到负数然后报警了,断... 阅读全文
posted @ 2017-05-08 11:12 gary_tao 阅读(1212) 评论(0) 推荐(0)
摘要:使用函数EXPT即可(输入的两个参数都可以是LREAL类型),注意跟计算器对比是Xy,所以4的0.123次方结果是1.18 4的0.5次方是2 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ ... 阅读全文
posted @ 2017-05-08 11:11 gary_tao 阅读(668) 评论(0) 推荐(0)
摘要:TON功能块功能: 当输入为高电平时,计时器开始计时,CV表示计时器计时的当前值,而PV则是计时的目标值,当CV的值等于PV的值时,输出置1。 在主程序接下去的地方按下F2并添加TON功能块。 这里我取名为t1 此处t1_timer,t1_output为bool量,t1_current为time量 点击并查看程序运行情况,部分如图: 上图可以看见t1的当... 阅读全文
posted @ 2017-05-08 11:10 gary_tao 阅读(2646) 评论(0) 推荐(0)
摘要:对于TON模块而言,有两个输入和两个输出 IN:布尔值(上升沿启动定时器,下降沿重置定时器) PT:时间类型(定时的时间间隔) Q:布尔值(当到达定时时间,则为TRUE) ET:时间类型(周期内用掉的时间) (*设置定时器TON1,只需要设置时间间隔*) TON1(IN:=TRUE , PT:= t#1s ); IF ton1.Q THEN PLCVarInt:=PLCVarIn... 阅读全文
posted @ 2017-05-08 11:08 gary_tao 阅读(1270) 评论(0) 推荐(0)
摘要:双击PlcTask,然后再Cycle ticks中可以修改PLC的扫描周期,例如修改为2ms 为了验证是否真的是2ms,可以在程序中跟计数器绑定使用,PLC2ms扫描一次,计数器也是每个周期增加0.002,所以可以看时间是不是一秒一秒的增加。 在TC2中,需要切换到Task configuration,然后定位到一个Task(默认只有Standard),然后修改Interval... 阅读全文
posted @ 2017-05-08 11:04 gary_tao 阅读(1691) 评论(0) 推荐(0)
摘要:右击Tasks,添加一个新的Task 可以为这个线程设置自定义的扫描周期 然后在项目上右击添加Referenced Task 在TaskSub1上右击添加现有项,把之气写好的PRG程序绑定好即可(就像默认的PlcTask绑定了MAIN一样,注意只能是PRG,不能是FUN或者FB) 在子线程中,你不可以直接修改MAIN程序的变量,但是可以获取变量,当然对于全局... 阅读全文
posted @ 2017-05-08 11:04 gary_tao 阅读(911) 评论(0) 推荐(0)
摘要:在Motion上添加一个NC Task 在Axis上右击添加一个轴,类型为Continuous Axis 在PLC上右击添加新项,然后添加一个PLC项目 在引用中添加TC2_MC2的库引用 添加一个全局的变量,定义AXIS_REF变量类型 重新编译一下,然后在Settings中Link To PLC,选择刚才的全局变量 由于是TC3,前面... 阅读全文
posted @ 2017-05-08 11:02 gary_tao 阅读(2322) 评论(0) 推荐(0)
摘要:在Task configuration中,新建Task,可以设置名称和扫描周期 右击这个Task,Append Program Call,找到主程序中写好的PRG即可 运行没有问题,Sub1每隔一秒采集一次MAIN的Y变量的数据 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 ... 阅读全文
posted @ 2017-05-08 11:02 gary_tao 阅读(421) 评论(0) 推荐(0)
摘要:右击NC- Configuration,然后Append Task,然后右击Axis,Append Axis 轴的类型可以分为:Continuous Axis,默认的类型,NC可以连续闭环控制该轴,Encoder Axis,编码器类型,NC只能读不能控制,不做任何设置直接确认。 有些页面默认是不可用的,只有在RUNNING模式下才会变得可用 首先是对编码器的设置,Ge... 阅读全文
posted @ 2017-05-08 11:01 gary_tao 阅读(4238) 评论(0) 推荐(0)
摘要:双击某个驱动器(以松下伺服驱动器为例),在Process Data中,注意默认显示了PDO mapping1的数据(Error code, status word等) 注意左侧,2和3分别表示了与驱动器的所有数据输入和输出,如果我选中2 Output之后,勾选四个选项,那么就会有PDO mapping1到4,当然如果3 Input只勾选了第一项,那么就只会有Receive PDO map... 阅读全文
posted @ 2017-05-08 10:59 gary_tao 阅读(2236) 评论(0) 推荐(0)
摘要:在F11运行状态下,点击Online-Display Flow Control然后可以看到绿色的行就是当前正在运行行 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:91035896... 阅读全文
posted @ 2017-05-08 10:58 gary_tao 阅读(400) 评论(0) 推荐(0)
摘要:鼠标放到任意一个参数上停留一段时间,会自动弹出关于该条参数的ADS信息 TC3也是一样(如果不是轴的某个参数而是PLC程序绑定的某个变量也是一样,定位到这个变量既可以看到ADS信息) 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz... 阅读全文
posted @ 2017-05-08 10:57 gary_tao 阅读(841) 评论(0) 推荐(0)
摘要:一般模块出错会在Error中显示为TRUE,同时ErrorID中会有一个错误代码,下图所示就是出错之后的效果 在变量表中也可以看到,右击转成16进制查看 由于是NC模块出错,所以可以再NC的Error Codes中找到对应的错误描述 NC的所有NC错误都可以在InfoSys的NC Error Codes中找到说明 在开始菜单可以找到Infosys(如果没有则... 阅读全文
posted @ 2017-05-08 10:55 gary_tao 阅读(5488) 评论(0) 推荐(0)
摘要:假如我定义了一个MC_Power的标准功能块,我想知道它对应的ST语言 在MAIN(ST语言界面下)右击,Input Assistant,然后找到Standard Function Blocks,找到TcMC.lib下面的对应模块(TwinCAT的所有标准模块都可以在你引用的库里面找到),然后点击OK就可以看到对应的代码 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷... 阅读全文
posted @ 2017-05-08 10:54 gary_tao 阅读(665) 评论(0) 推荐(0)
摘要:右击视图管理器,添加一个TargetVisualization 在起始视图中点击右边的按钮,然后选择一个HMI作为起始HMI 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ... 阅读全文
posted @ 2017-05-08 10:53 gary_tao 阅读(610) 评论(0) 推荐(0)
摘要:切换到视图管理器,然后可以切换皮肤,会有预览效果 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960 邮箱:acetaohai123@163.com ... 阅读全文
posted @ 2017-05-08 10:52 gary_tao 阅读(354) 评论(0) 推荐(0)
摘要:选中一个文本框,然后在属性中双击输入配置的OnMouseDown事件(也可以是别的事件,但都是通过这种方法) 在左侧点击写变量,然后输入类型改成VisuDialos.Numpad(数字键盘方式),然后绑定需要的PLC变量 我们可以测试效果,当鼠标点击文本框之后,弹出的窗口可以输入数字,同时修改之后,主程序的对应变量也写进去了 如果有最大值最小值的话,也会反映到... 阅读全文
posted @ 2017-05-08 10:51 gary_tao 阅读(670) 评论(0) 推荐(0)
摘要:TC3中,可以点击某个按钮,改变所显示的视图,然后从你写好的页面中选择一个要跳过去的页面 当然,在跳过去的页面上再做一个按钮可以跳回主页面也是必须的 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ ... 阅读全文
posted @ 2017-05-08 10:51 gary_tao 阅读(429) 评论(0) 推荐(0)
摘要:打开元素列表,然后直接从顶部按住Shift批量选中控件即可 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960 邮箱:acetaohai123@163.com ... 阅读全文
posted @ 2017-05-08 10:50 gary_tao 阅读(390) 评论(0) 推荐(0)
摘要:右击添加一个PLC项,注意不要用中文 右击VISUs,添加一个视图对象 在POUs中打开MAIN,然后添加代码(定义了一个BOOL和一个INT类型变量) 工具箱中得到一个textfield,可以搜索得到,然后再Text中输入"当前数值:%d",其中%d就是待会儿要显示的i_count变量值 勾选高级,然后在Text variables中绑定到变量Text v... 阅读全文
posted @ 2017-05-08 10:49 gary_tao 阅读(2230) 评论(0) 推荐(0)
摘要:创建最简单的静态文本,就像是label,就只需要绘制一个矩形框,然后填写Text,取消边框即可(你也可以设置自定义字体) 创建动态的文本框,就像是textbox,需要设置这个矩形框的Text为%d(%d表示显示整数,如果是浮点数就是%f,如果保留三位小数就是%.3f),然后在Variables中把Textdisplay中要显示的主程序变量放进来(有自动提示),如果这个文本框可以直接点击之... 阅读全文
posted @ 2017-05-08 10:48 gary_tao 阅读(1211) 评论(0) 推荐(0)
摘要:对于相对编码器类型轴(包括虚拟轴),可以使用贝福提供的找原点功能块MC_Home。 HomingMode是指机器在往前跑的时候(30单位/s的默认速度),当碰到阻挡,则会有一个布尔值从FALSE改成TRUE,此时认为超过了零点。然后该轴反向运动,一定能捕捉到TRUE改成FALSE,然后就停下,认为当前位置是原点(不一定是0位置,你Position是多少就将当前位置设置为多少) ... 阅读全文
posted @ 2017-05-08 10:46 gary_tao 阅读(1515) 评论(0) 推荐(0)
摘要:当在界面上绘制了太多元素时,点击运行会在左上角弹出对话框提示内容容量不够 在英文版的说明中,点击Visualization Manager就可以进行设置 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ ... 阅读全文
posted @ 2017-05-08 10:41 gary_tao 阅读(397) 评论(0) 推荐(0)
摘要:我分别创建两个按钮,自锁和自复位,绑定到主程序的两个布尔值上去 自锁按钮是指点击一下为TRUE,再点击一下为FALSE,自复位按钮是指按下的时候为TRUE,松开的时候为FALSE(也可以勾选Tap FALSE设置成按下的时候为FALSE,松开的时候为TRUE),这样TC2倒是可以实现类似于有TC3的JOG点动按钮了,即MouseDown和MouseUp的事件分别响应 更多教... 阅读全文
posted @ 2017-05-08 10:40 gary_tao 阅读(864) 评论(0) 推荐(0)
摘要:有时候,让电机从0度转到绝对的360度,有时候会出现电机实际转动更多或者更少的情况。 一般是电机的编码器的Scaling Factor Numerator数值不对导致的,数值越小,则同比转过角度越多,例如我数值是0.0001的时候,360度实际对应了720度以上,我改成0.00035之后,就差不多了。 那么如何精确的设置这个参数呢?参考讲义说一圈对应的脉冲数和一圈对应的长度(注... 阅读全文
posted @ 2017-05-08 10:39 gary_tao 阅读(1281) 评论(1) 推荐(0)
摘要:新建一个项目,当扫描的时候务必勾选YES,使用网上最新的XML文件 如果不使用,则有些设备可能被扫描出来是无效的(图标不正常) 如果完全删除XML描述文件,可能也能扫描出来,而且可以用TwinCAT试运行,但是实际运行的时候会有不可预知的问题 所以需要确保联网状态,然后确保扫描出来的都是图标正常的设备 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷... 阅读全文
posted @ 2017-05-08 10:39 gary_tao 阅读(1046) 评论(0) 推荐(0)
摘要:一般提示如下 点击Device,然后选中当前真正连接到的网卡 一般是由于重装系统之后,没有把本来是realtime capable的设备Install,所以找不到支持EtherCAT的设备导致的,只需要重新安装一下支持的网卡即可,如果还是不行,则删除原来扫出来的设备,重新扫描一次 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.y... 阅读全文
posted @ 2017-05-08 10:37 gary_tao 阅读(3327) 评论(0) 推荐(0)
摘要:参考下面的图示 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960 邮箱:acetaohai123@163.com 阅读全文
posted @ 2017-05-08 10:36 gary_tao 阅读(465) 评论(0) 推荐(0)
摘要:首先确认驱动器没有报错(如果驱动器报错,请先解决绝对值编码器的清除多圈数据问题) 报错一般上使能就会报错,没法测试运转,而且不管是用贝福自带的NC功能还是自己写的都会一样的效果 请删除在贝福的EtherCAT目录下的松下的XML文件(可能就是这个XML文件的问题) 然后按照"松下伺服如何与TwinCAT3连接使用1"的说明(只是不放XML文件,重新扫描一遍出来),虽然扫出来的D... 阅读全文
posted @ 2017-05-08 10:35 gary_tao 阅读(3055) 评论(0) 推荐(0)
摘要:驱动器未就绪错误,请重启驱动器 注意,即便是报这个错,仍然有可能上电成功,这样的话可以直接在TwinCAT中清除错误即可 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358... 阅读全文
posted @ 2017-05-08 10:34 gary_tao 阅读(3065) 评论(0) 推荐(0)
摘要:该参数是包含六个数字类似于IP地址的字符串形式,例如"1.1.1.2.7.1",如果为空字符串,则默认使用本机的AmsNetID 你可以右击贝福的图标,然后点击About查看当前本机的ID TC3修改TwinCAT AMS NET地址: 右击任务栏中TwinCAT图标,Router,Change AMS NetId,然后重新输入 TC2修改TwinCAT AMS NET地... 阅读全文
posted @ 2017-05-08 10:32 gary_tao 阅读(2461) 评论(0) 推荐(0)
摘要:在C#中,每一个case后面必须有break,所以输出1,也就是如果a=0,则只会执行case=0的那一段,当等于1之后不会继续。 在TwinCAT中,虽然CASE语句没有break,但是实际上不会在一个循环中循环判断的,JOB=1之后就没有接着等于2 如果把TEST改为FALSE的语句取消掉,则一定是会循环变化的了。 更多教学视频和资料下载,欢迎关注以下信息: ... 阅读全文
posted @ 2017-05-08 10:31 gary_tao 阅读(704) 评论(0) 推荐(0)
摘要:PLC的标准化语言,统称为IEC 61131-3,该规范下有五种不同的语言可以创建PLC程序,TwinCAT都支持。 IL(指令列表): 每条指令都从一个新行开始并包含一个操作和一个或多个操作数,一条指令之前可以放置一个标号后跟一个冒号,注解必须是一行中最后一个元素。 ST(结构文本): 类似于PC的Basic或者C语言,可以用简单的指令创建功能强大的命令串。 FBD(功能块图... 阅读全文
posted @ 2017-05-08 10:30 gary_tao 阅读(3743) 评论(0) 推荐(0)
摘要:这是TwinCAT教程的最后一节,简单讲述了以C#为上位,通过ADS控制TwinCAT下位,实现完整控制两轴模组的功能。可以发现,在上位层已经没有了运动控制的代码,不管是要执行哪种运动,无非是把目标参数写入到绑定的对应变量,然后修改下位的任务号CurrentJob 在C#中一方面需要定时采集机器人的位置,速度还有状态等信息,另一方面需要显示这些信息(或者说利用这些信息)。采集需要足够快(... 阅读全文
posted @ 2017-05-08 10:27 gary_tao 阅读(2341) 评论(0) 推荐(0)
摘要:对于MOVEJ的关节运动来说,我们只关心每个电机的角度(只需要考虑多个电机协同开始运动和结束运动,关键是对每个电机加速度均一化,从而一起跑一起停,这部分内容可以参考机器人学导论以获取更加详细的说明),我们要注意整个的流程是更新关节位置(MOVEJ)=>更新TCP(正解)=>更新关节速度和TCP速度 且由于正解是唯一的,在主程序的每个周期都要执行(当然你也可以不在主程序每个周期都执行,放在MoveU... 阅读全文
posted @ 2017-05-08 10:26 gary_tao 阅读(2254) 评论(0) 推荐(0)
摘要:虚拟仿真上,要注意仿真只是为了可视化,可以看到数据的变动是否和实际一致,所以Robot2D才是主要因素,虚拟仿真采集机器人的关节位置或者TCP位置来显示而已,为了测试一些别的算法,我们还可以在虚拟仿真的环境中放入临时的点位,然后显示一个球体或者一个坐标系,以此来判断是否算的准确(OPENGL无非rotate和translate到目标位置,然后draw即可) 仿真上还要注意,坐标系方向是自... 阅读全文
posted @ 2017-05-08 10:24 gary_tao 阅读(1473) 评论(0) 推荐(0)
摘要:本节主要演示了使用自定义函数实现电机的运动(梯形曲线和S曲线都有实现),这里的JOG+和JOG-,针对单个关节实现了PTP的运动(跟贝福的MoveAbsolute功能块实现效果一致),在此没有介绍运动控制算法的具体原理,不理解的可以网上搜索梯形曲线和S曲线的文章,并不只是非标自动化需要用到控制电机的PTP运动,比如升降机,电梯,或者凡是需要匀滑启停的电机控制,都逃不过要用到这方面的知识,读者也可以... 阅读全文
posted @ 2017-05-08 10:21 gary_tao 阅读(3864) 评论(0) 推荐(0)
摘要:在前面一节,我们简单介绍了通过PLC+HMI实现完整控制松下伺服的上使能-运动,采集位置,速度等功能,这里我们会大量简化用到的贝福功能块(为了更加实用)。首先依然是对单个轴的封装,我们之前的做法,例如伺服上使能,使用了MC_Power模块,这个模块的输入和输出引脚都是自己定义的变量,比如是否上电成功我们是靠AxisPowerReady的信号来判断的,如果有两个甚至多个伺服的时候,这样做就很不方便管... 阅读全文
posted @ 2017-05-08 10:20 gary_tao 阅读(7885) 评论(0) 推荐(0)
摘要:在前面我们已经学会了使用贝福自带的调试软件完成试运行,接下来是使用TWINCAT PLC实现这个功能,右击PLC添加一个PLC项目 在VISUs上右击添加一个HMI人机界面 目前PLC程序和人机界面都是空的,我们要通过这两个实现我们自定义的点动。首先右击Reference添加TC2_MC2的类库(这个类库是Motion Control的类库) 右击GLVs,添加两个全... 阅读全文
posted @ 2017-05-08 10:19 gary_tao 阅读(4512) 评论(0) 推荐(0)
摘要:首先是用松下伺服自带的软件可以测试运行(驱动器,电机都连接好,然后用USB线连接到松下伺服驱动器的X1口),打开调试软件会自动提示连接到伺服 一般需要对驱动器清除绝对值编码器数据(驱动器可能报错40错误),写入驱动器参数值等等,这里不再详细说明如何改参数之类的(可以参考我对松下伺服驱动器的文档),我把对应的参数文件放到了项目中,这里只演示了传入参数文件 然后就可以使用松下自带的... 阅读全文
posted @ 2017-05-08 10:18 gary_tao 阅读(4136) 评论(0) 推荐(0)
摘要:常见的模拟量模块(还有更高端和更低端的,使用方法都一样) EL3054和EL4024(4路模拟量输入和输出模块) 常见的数字量模块(还有更高端和更低端的,使用方法都一样) EL1809和EL2809(16路数字输入和输出模块) 贝福模块的一个优点就是模块化结构(你可以选择要多少个数字输入输出,模拟量输入输出,也可以不要,所以扩展IO会非常方便,只需要多加一片就可以了,一片还可以... 阅读全文
posted @ 2017-05-08 10:16 gary_tao 阅读(2536) 评论(0) 推荐(0)
摘要:EL1002,EL1004,EL1008都是数字输入模块(2个点,4个点,8个点),输入高的范围是15V到30V,低的范围是-3V到5V EL2002,EL2004,EL2008都是数字输出模块(2个点,4个点,8个点),输出24V 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaoha... 阅读全文
posted @ 2017-05-08 10:14 gary_tao 阅读(974) 评论(0) 推荐(0)
摘要:TC2的程序是在TC3的基础上稍作调整,只说明不同点,请先看TC3的。 TC2中的一个原本是AXIS_REF类型变量被拆成了两个(PLCTONC_AXLESTRUCT和NCTOPLC_AXLESTRUCT结构体类型),并且都需要分别跟NC配置中的轴的FromPlc和ToPlc绑定 TC2中插入一个FB功能块是先添加一个Box,然后在方框中输入FB的函数名 接着插入输出引脚是右击... 阅读全文
posted @ 2017-05-08 10:13 gary_tao 阅读(945) 评论(0) 推荐(0)
摘要:这一节我们介绍简单的NC运动(前面所讲的所有内容都是PLC编程和HMI的界面,算是基础知识),这里NC就是控制伺服电机的部分(当然还不是实际的NC轴,是虚拟轴,但是用到的函数都是一样,可以为后面的实际应用做准备),既然用到了贝福的NC功能,就要添加对应的库 首先添加一个让轴上使能的PRG(注意是FBD格式) 在第一个空行后面插入空运算块,然后在中间的???里面输入运算块的名称(... 阅读全文
posted @ 2017-05-08 10:12 gary_tao 阅读(2367) 评论(0) 推荐(0)
摘要:因为使用TwinCAT的人用途不同,重视点就不同。如果用来代替传统PLC+HMI做项目的,很少会需要用到跟高级语言通讯,但是如果是用来做运动控制平台如做机器人运动控制器的,就肯定会用到。不管是否用得上,读者都应该知道贝福能够实现跟大部分高级语言如C++,C#,JAVA等等的通讯,并且非常简单(具体介绍可以自己看PPT,本节演示TwinCAT与C#的几个典型范例) 本质上,ADS通讯就是一... 阅读全文
posted @ 2017-05-08 10:11 gary_tao 阅读(1282) 评论(0) 推荐(0)
摘要: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 阅读(4984) 评论(0) 推荐(0)
摘要:使用命令FB_GetHostName来获取本机名称,返回的是一个字符串 使用命令FB_GetAdaptersInfo获取网卡信息(注意采集到的是一个非常复杂的类型,本身是一个数组,数组的每个元素又包含了网卡的物理地址,名称,IP地址等等) 为了显示方便,只显示了有效网卡数量和第一块网卡的名称(在HMI输入的时候,可以利用TwinCAT的自动提示,XXX变量名.就会自动提示所有的... 阅读全文
posted @ 2017-05-08 10:09 gary_tao 阅读(738) 评论(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 阅读(942) 评论(0) 推荐(0)
摘要:使用功能块NT_GetTime,NETID填写两个单引号表示本机,START就是一个触发信号,一般的功能块都需要一个上升沿触发执行,最后的输出类型都是让系统自己决定,然后统一把这些变量放到全局变量中(个人认为比较好的编程习惯),以方便查看 采集到的时间是一个比较特殊的类型,我们可以右击查看这个结构体包含的东西,也可以在运行起来之后,看执行完成之后,这个变量中的每个元素数据是否跟本机时间对... 阅读全文
posted @ 2017-05-08 10:06 gary_tao 阅读(1599) 评论(0) 推荐(0)
摘要:本程序只是在官方范例程序上稍作修改,在官方原有的范例中,演示了多种模式的读写(可以认为CSV文件是比TXT文件需要更多数据量的时候使用,比如记录一个小型的数据库集合) 但是写的比较混乱,甚至没有HMI的界面,读者需要学会快速在程序中找到输入输出,例如TextModeWrite(以文本方式写CSV文件),至少需要定位到触发的BOOL变量,要写入的文件地址和文件夹,要写入的数据这几个变量(其... 阅读全文
posted @ 2017-05-08 10:05 gary_tao 阅读(1314) 评论(0) 推荐(0)
摘要:TwinCAT提供了FB_FileRead等一系列读写文件的方法,本小程序演示的是多个贝福自带的FBD功能块连起来用的方法,跟前面讲的一样,建议在初始化的时候把所有FBD都复位,准备使用 真正的读取文件流程是打开-读取-关闭,任何一个环节都有可能出错(比如打开文件找不到这个文件,读取文件读到的数据和要放入的变量不匹配,关闭的时候由于文件在使用出错),在写PLC程序的时候,一个状态(比如C... 阅读全文
posted @ 2017-05-08 10:04 gary_tao 阅读(2211) 评论(1) 推荐(0)
摘要:把编写简单计算器作为入门的第一个范例程序,主要是因为比较简单,而且综合了HMI,数据类型,数据转换,PRG和FBD等功能块的混合等知识,个人认为还是比较适合用来快速上手的。由于是第一个范例,所以视频教程和文档说明都会比较详细(学习能力较强的可以跳着看,后面范例的说明会逐渐减少) 添加一个PLC,随便取个名字 首先是把人机界面做好,最简单的计算器需要实现加减乘除的功能,右击VISUs添... 阅读全文
posted @ 2017-05-08 10:03 gary_tao 阅读(3920) 评论(0) 推荐(0)
摘要:一般声明字符串都会加一个长度的限制,比如A:STRING(80);至于真实的字符串长度不要超过这个限制即可 在测试中,我演示了两个字符串的方法,CONCAT字符串拼接和REPLACE字符串替换。拼接不用说,替换比较特殊,第一个参数是输入的字符串(要被替换的字符串),第二个参数是要替换成的新字符串,第四个参数是输入字符串的起始替换下标,第三个是替换字符个数。比如'Hello '从第2个字符... 阅读全文
posted @ 2017-05-08 10:02 gary_tao 阅读(1659) 评论(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 阅读(1426) 评论(0) 推荐(0)
摘要:定义pt为指向INT类型的指针,在程序中取得var_int1的地址(INT类型),然后将地址对应的数据还原给var_int2(pt^的写法) 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流:... 阅读全文
posted @ 2017-05-08 10:01 gary_tao 阅读(633) 评论(0) 推荐(0)
摘要:在DUTs文件夹上右击添加结构体,结构体中可以放基本变量类型,也可以嵌套其他结构体 使用的时候,需要声明结构体的实例,然后按照类.属性的格式来读写变量,会有代码的自动提示 你也可以声明数组,类型就是自己定义好的结构体,访问的时候,数组指定元素.属性即可(如Struct2[0].Var1) 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i... 阅读全文
posted @ 2017-05-08 10:00 gary_tao 阅读(1277) 评论(0) 推荐(0)
摘要:在Duts的文件夹上右击,可以声明一个枚举类型,按照格式填写所有类型(注意枚举的元素前面都是逗号,最后一个不需要符号) 在正常使用的时候,枚举的单词可以当全局变量来用 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite... 阅读全文
posted @ 2017-05-08 10:00 gary_tao 阅读(768) 评论(0) 推荐(0)
摘要:右击POUs,添加一个FB功能块,相比于FUN,FB功能块有INPUT,OUTPUT,还有VAR,即FB可以有多个输出,但是整个FB没有返回值 实现相同的功能,FB要比FUN难看的多,FB要声明实例,此外注意前面是赋值符号(给FB的几个输入参数赋值,然后最后输出是=>符号,即把FB的某个输出参数灌给指定的主程序变量) 但是FB有一些别的好处,尤其是在写复杂算法的时候,FB可以整... 阅读全文
posted @ 2017-05-08 09:59 gary_tao 阅读(1140) 评论(0) 推荐(0)
摘要:右击POUs可以增加一个函数,需要指定函数名,返回类型 增加完成之后会自动创建函数的格式,注意VAR_INPUT是指函数的输入,VAR是指临时变量(这些都是自己写的,比如要定义一个简单加减乘除的函数,至少需要A,B 两个运算数据,还需要一个操作符,我们把中间结果保存到变量C中,最后让函数名等于需要的结果即可,是否加RETURN语句都行) 函数是最简单的一种面向对象的写法(不... 阅读全文
posted @ 2017-05-08 09:58 gary_tao 阅读(1238) 评论(0) 推荐(0)
摘要:常见数据类型可以参考EXCEL表格的内容,在准备值中输入非法数据,然后回车会有错误提示(例如BYTE数据输入256) 右击可以切换二进制或十进制显示,wData5可以被挨个采集每个位上的数据,也可以使用类型转换把BOOL和STRING来回转换 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 ... 阅读全文
posted @ 2017-05-08 09:57 gary_tao 阅读(1029) 评论(0) 推荐(0)
摘要:由于TC2和TC3都有可能用到,个人推荐都安装,但是注意必须是先安装的TwinCAT2,然后安装TwinCAT3,如果反了可能两个都没法用(打开TcSwitchRuntime提示Both TwinCAT are activated,这样你一个也无法禁用),如果是这种情况请先把两个都卸载了,如果已经安装了TwinCAT2,则在安装TwinCAT3的时候,会自动检测是否存在TwinCAT2,如果有就自... 阅读全文
posted @ 2017-05-08 09:56 gary_tao 阅读(3886) 评论(0) 推荐(0)
摘要:F5:运行程序 CTRL+F5:停止运行当前程序 F12:登出 F11:登录 CTRL+F7:强制写入数值 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960 邮箱:ace... 阅读全文
posted @ 2017-05-08 09:56 gary_tao 阅读(1592) 评论(0) 推荐(0)
摘要:请确认在TWINCAT在线模式下,把Drive的Modes of operation改为8 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960 邮箱:acetao... 阅读全文
posted @ 2017-05-08 09:55 gary_tao 阅读(805) 评论(0) 推荐(0)
摘要:本节附件中有很多PPT介绍贝福TwinCAT和EtherCAT的相关技术,在此只做简单说明。 简单总结:EtherCAT就是一种总线技术,具有速度快,稳定性高,布线简单等优点,详细可以参考下面这个PPT(不是说其他总线就不行,只是说这个很优秀) 简单总结:TwinCAT就是贝福推出的基于PC的软PLC软件,软PLC可以摆脱传统PLC的编程复杂(比如懂西门子的不懂三菱,台达甚至国产的PLC... 阅读全文
posted @ 2017-05-08 09:55 gary_tao 阅读(2359) 评论(0) 推荐(0)
摘要:24.0 位置偏差过大保护 读取驱动器参数之后,在基本的014项目把设定值设置为最大,然后点击传送,EEP写入驱动器后重启驱动器即可 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流... 阅读全文
posted @ 2017-05-08 09:54 gary_tao 阅读(1363) 评论(0) 推荐(0)
摘要:出现这种错误的时候,我把一套测试完好的电机和驱动器,直接把跟电机连接的线拔掉换另一个电机,驱动器所有参数不变,这样由于是绝对值编码器的,所以驱动器已经记住了上一个电机的圈数,换了新的电机之后圈数不对了所以报错。 打开监视器,然后右下角有一个清除多圈数据,完成之后点击清除警告即可 网上还有一个说法是用控制面板来操作,但是我用的驱动器面板都没法用 http://zhidao.bai... 阅读全文
posted @ 2017-05-08 09:54 gary_tao 阅读(1221) 评论(0) 推荐(0)
摘要:同步周期有问题 请确认MOTION的伺服周期是一致的,最好跟MAIN主程序也一样,所有周期都是2ms即可 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960... 阅读全文
posted @ 2017-05-08 09:54 gary_tao 阅读(555) 评论(0) 推荐(0)
摘要:在试运行的时候,取消勾选自动设定,然后可以自己设置过速度等级设置和过载等级设置 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960 邮箱:acetaohai123@16... 阅读全文
posted @ 2017-05-08 09:53 gary_tao 阅读(501) 评论(0) 推荐(0)
摘要:编码器通讯断线异常保护,一般就是通讯线松动或者受干扰(最难以排查的情况是,我接了六套驱动器和伺服,比如J0的线是随便做的,其他五套都是西门子的合格网线,我运行程序的时候,J0如果单关节运动没任何问题,接着加入J1,J2也没问题,但是当再加入多余三个电机之后,J0就会随时报错21.0,在贝福中扫描得到的结果是18000错误),为了确认是编码器线受干扰而不是程序的问题,你可以把J0和J1的所有线对调,... 阅读全文
posted @ 2017-05-08 09:53 gary_tao 阅读(1732) 评论(0) 推荐(0)
摘要:点击参数-参数一览,然后修改015为0(设置为绝对编码器方式),点击设定值变更,然后传送,EEP,将参数写入驱动器(保持USB线连接,重启驱动器并确认参数确是改成0了) 监视器-清除多圈数,清除之后多圈数据会变成0(再次重启驱动器) 重启之后可能会报警(绝对值编码器异常报警),清除报警之后即可试运行 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: ht... 阅读全文
posted @ 2017-05-08 09:52 gary_tao 阅读(1711) 评论(0) 推荐(0)
摘要:安装调试软件PANATERM 6.0,完成之后可以自动检测到连接的设备(如果软件是之前的版本,则可能无法准确识别A5B系列) 点击试运行,伺服关闭,然后会发现伺服开启按钮可用了 测试正反转没有问题 进入其他-引脚定义设定 把07,08,09号设置为无效(双击对应项目弹出窗口,然后鼠标点击三个无效,点击之后背景为蓝色的就是当前设置的状态) 把26号口... 阅读全文
posted @ 2017-05-08 09:50 gary_tao 阅读(907) 评论(0) 推荐(0)
摘要:一般是伺服到电机的动力线没接好(请查看动力线接线是否正确) 更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/acetaohai123 我的在线论坛: http://csrobot.gz01.bdysite.com/ 问题交流: QQ:910358960 邮箱:acetaohai123@163.com ... 阅读全文
posted @ 2017-05-08 09:49 gary_tao 阅读(620) 评论(0) 推荐(0)

AmazingCounters.com 我要啦免费统计