title: Twincat 3 simulating robot interface
body: <p>Hallo this is my first post here.</p>
  <p>I'm currently doing my internship at a company that uses twincat 3 programs for automation in conjunction with a yaskawa robot system. The assignment I received is to expand the simulation software they currently use to simulate the plc software to also be able to simulate the yaskawa interface so they can test if changes in eithers software causes issue's in the other without having to upload the program to a PLC. I've been looking online and found a couple options but I'm curious if I missed some other options or if the options I've found will not work.</p>
  <p>The options I'm currently considering are.</p>
  <ul>
  <li><p>using the ethernet port on the simulation pc to connect to the Yaskawa controller. I've found a driver(<a href="https://infosys.beckhoff.com/english.php?content=../content/1033/el7031-0030/1036996875.html&amp;id=" rel="nofollow noreferrer">https://infosys.beckhoff.com/english.php?content=../content/1033/el7031-0030/1036996875.html&amp;id=</a>) that will allow the user to make an ethernet port on their pc function in real time so I theorized It might be possible to then directly connect the computer to the yaskawa controller so the user would not need to upload the software but have the PC act as a PLC instead.</p>
  </li>
  <li><p>Use ROS to simulate the robot. there are libraries for ROS industrial to program and simulate a yaskawa robot. It would require using 2 computers or using a virtual machine as ROS is used best on an linux system. Only problem is I can't figure out if the ROS simulation can use regular yaskawa jobs and functions or if it can only the adapted ones programmed in ROS.</p>
  </li>
  <li><p>Use motomans simulation software motosim to simulate the yaskawa robot. Seems like an obvious solution but can't figure out if it's possible to have it communicate with twincat3 however I might have missed something.</p>
  </li>
  <li><p>write a twincat 3 software that emulates a yaskawa interface. I consider this a last resort if all else fails. It would require the code be updated each time something about the yaskawa software changes which is not ideal for quick testing.</p>
  </li>
  </ul>
  <p>I'd really appreciate any suggestions or additional information more experienced programmers might have.</p>