DB9公座
1 【rxd4】
2【rxd1】
3【txd1】
4 【A+3】 【t+9】
5【GND】
6 【txd4】
7 【A+2】 【r+9】
8 【B-2】 【r-9】
9 【B-3】 【t-9】
mcgs跟台达plc连用com2 跟三菱plc连用com9
MD8母座(右向左,上到下)
【台达】默认【9600/7偶/1】 【三菱】
1 +5v txd-
2 +5v txd+
3 0v 0v
4 【rxd收】 rxd-
5 【txd发】 +5v
6 0v
7 空 rxd+
8 0v
策略
后台策略 每60秒执行一次
启动策略 初始化,只运行1次
退出策略 当系统退出前运行,保存日志等
用户策略 按钮触发运行
循环策略 每x时间,循环运行 !ChangeLoopStgy(策略名, 循环单位ms )
报警策略 产生,结束,应答】执行1次
事件策略 对象属性值变化时,执行
热键策略 Fn插键盘触发运行
异步执行 !SetStgy(策略名 ) //多线程
同步执行 !SetStgyMode(策略名 ) //程序串联,先执行完A,再执行B
codesys变量
触摸屏跟codesys变量用:标签通讯
1codesys先定义全局变量【不能用中文】
2添加【符号配置】
3【符号编译】,勾选需要的变量
4【编译】》【生成代码】
5 mcgs内,添加codesys自由标签
6导入标签。 //标签位置在codesys项目的目录下
7快速连接变量
8确认
【台达】com1
DVP60EC貌似不能设置串口参数。默认 9600、7、偶,1,从站1
MD8母座(右向左,上到下)
【台达】默认【9600/7偶/1】 【三菱】
1 +5v txd-
2 +5v txd+
3 0v 0v
4 【rxd收】 rxd-
5 【txd发】 +5v
6 0v
7 空 rxd+
8 0v
【三菱】com
跟三菱的编程口对接【mcgs只能用com9】
MD8母座(右向左,上到下)
【台达】默认【9600/7偶/1】 【三菱】
1 +5v txd-
2 +5v txd+
3 0v 0v
4 【rxd收】 rxd-
5 【txd发】 +5v
6 0v
7 空 rxd+
8 0v
按钮
权限
$UserName 登录的用户名 // 用【A】标签显示字符
!LogOn( ) 登录 // 按钮用脚本
!LogOff( ) 注销
!Editusers( ) 用户管理
!ChangePassword( ) 修改密码
用户名:添加人员 //设置可进入几个部门
用户组:权利等级 【独立部门】按钮控件用,
报警
总共2种:
在【实时数据库】变量下,右键【追加】
或者 在【工具】》【报警统一配置】
多个报警:在【实时数据库】变量下,【成组增加】,选【组对象】,然后添加报警
布局
【厂家,时间,设备名,故障灯,注销,通讯灯】
【】【】【】【】【】【】【】【】【】 电源开
【】【】【】【】【】【】【】【】【】
【】【】【】【】【】【】【】【】【】 电源关
【】【】【】【】【】【】【】【】【】
【】【】【】【】【】【】【】【】【】 电源屏
【】【】【】【】【】【】【】【】【】
【】【】【】【】【】【】【】【】【】 急停
【主页,工艺,自动,手动,参数,报警,用户管理】
启动 停止 复位 手/自动
保存
codesys一体机没有保存功能,需要用触摸屏保存。//每60秒
新建个循环策略【每1秒】
if ReadFlag then '读取
设备0_Application_PersistentVars_SaveVale1 = SaveValue_Data1
设备0_Application_PersistentVars_SaveVale2 = SaveValue_Data2
设备0_Application_PersistentVars_SaveVale3 = SaveValue_Data3
设备0_Application_PersistentVars_SaveVale4 = SaveValue_Data4
设备0_Application_PersistentVars_SaveVale5 = SaveValue_Data5
ReadFlag = 0
ENDIFif WriteFlag then '写入,需要等待60s写入
SaveValue_Data1 = 设备0_Application_PersistentVars_SaveVale1
SaveValue_Data1.SaveData( )
SaveValue_Data2 = 设备0_Application_PersistentVars_SaveVale2
SaveValue_Data2.SaveData( )
SaveValue_Data3 = 设备0_Application_PersistentVars_SaveVale3
SaveValue_Data3.SaveData( )
SaveValue_Data4 = 设备0_Application_PersistentVars_SaveVale4
SaveValue_Data4.SaveData( )SaveValue_Data5 = 设备0_Application_PersistentVars_SaveVale5
SaveValue_Data5.SaveData( )
WriteFlag = 0
ENDIF
补丁
文件解压复制到 McgsPro\Program\Drivers\PLC 下
多语言
【工具】》【多语言】
!SetCurrentLanguageIndex(语言ID号) // 多语言脚本函数
在文本右边点击
配方
新建变量,改变量名为【配方】,类型选组对象,组成员添加自己需要的。
在【工具】》【配方组态设计】
定时器
有128个定时器,0~127 【系统函数】》【计时器操作】
启动定时器 !TimerRun(127 ) //启动127号定时器
停止计时器 !TimerStop(0 ) // 0号定时器停止
定时器加时间 !TimerSkip(127,-6.6 ) // 127定时器,减6.6秒
设置当前时间 !TimerReset(127,59 ) // 127定时器,当前计时值59秒
获取计时器当前值 !TimerValue( 127) // 127计时器,当前值
计时器状态 !TimerState( 127) //0关,1开,2停止,3时间到
设置定时值 !TimerSetLimit(127,30,模式 ) //127定30秒,【】0循环,非零为停止
等待时间到 !TimerWaitFor(127,59 ) // 等127计时到59秒
内存
$表示TCP设备的
缓冲区 128个 0~127
最大 1M
创建 !BufferCreate(id 0~127 , 1~ 1024*1024最大1M ,大小端 , encode编码格式)
清除缓冲 !BufferClear(bufID)
释放 !BufferDestory(bufID)
获取缓冲大小 !GetBufferSize(bufID)
设置整型 !BufferSetInt(bufID,pos,intValue,type)
设置浮点型 !BufferSetFloat(bufID,pos,floatValue,type)
设置字符串 !BufferSetString(bufID,pos,strValue,saveLen)
获取整型 !BufferGetInt(bufID,pos,intValueRef,type)
获取浮点型 !BufferGetFloat(bufID,pos,floatValueRef,type)
获取字符串 !BufferGetString(bufID,pos,strValueRef,strLength)
导出字符串 !BufferWriteToCsvStr(bufID,bufPos,formatStr,count,csvStrRef)
加载字符串 !BufferReadFromCsvStr(bufID,bufPos,formatStr,count,csvStr)