using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using MECF.Framework.Simulator.Core.Driver; namespace MECF.Framework.Simulator.Core.Robots { public class YaskawaNX100RobotSimulator : YaskawaNX100ControllerSimulator { public YaskawaNX100RobotSimulator() : base(10113) { } //$ () MMAP //$,(,),,,MTRS,,,,,,(,,,)(,)(,) //$ () 01 02 … XX public override void HandleRMAP(string msg) { Random rd = new Random(); string unit = msg.Substring(1, 1); string seq = msg.Substring(2, 2); string cmd = msg.Substring(4, 4); string trs = msg.Substring(8, 2); string slot = msg.Substring(10, 2); string sts = 0.ToString("X02"); string Ackcd = 0.ToString("X04"); string error = 0.ToString("X04"); //bool random = false; bool full = trs == "C1" || trs == "C2"; //string mapData = GetMapData(random, full); bool pre = trs == "C1" || trs == "C3"; bool mid = trs == "C2" || trs == "C4"; bool post = trs == "C5" || trs == "C6"; string mapData = GetMapData(pre, mid, post); if (trs == "C1") mapData = GetMapData(1,5); else mapData = GetMapData(0, 1); string feedback = string.Format(",{0},{1},{2},{3},{4},", unit, seq, sts, Ackcd, mapData).Replace(",","").Replace(":", ""); string sum = CheckSum(feedback); string result = String.Format("{0}{1}{2}","$", feedback, sum); OnWriteMessage(result); } } }