Real-Time Simulation without Actual PLC

Is there a way to simulate PLC realtime data without actual PLC? I remember in one of the tests as integrator, there was CSV file sent to simulate such behavior. How do we do that by ourselves?

Thank you very much.

Heh, sounds familiar :slight_smile:
Take a look at this thread.

1 Like

Hi, pturmel

Thanks! Looks like this is what I look for! Will go and check. :thumb_left:

Hi pturmel,

I run your project “Simulation Aids Module Demo” in my PC and I got the following error, any idea?

[quote]ERROR [ProjectTag-Designer-Startup] Error creating tag binding for client tag ‘[Client]Target’
java.lang.RuntimeException: Unknown function: ‘objectScript’
at com.inductiveautomation.ignition.common.expressions.FunctionExpression.(FunctionExpression.java:27)
at com.inductiveautomation.ignition.common.expressions.parsing.CUP$ELParser$actions.CUP$ELParser$do_action(ELParser.java:567)
at com.inductiveautomation.ignition.common.expressions.parsing.ELParser.do_action(ELParser.java:323)
at java_cup.runtime.lr_parser.parse(lr_parser.java:569)
at com.inductiveautomation.ignition.common.expressions.parsing.ELParserHarness.parse(ELParserHarness.java:22)
at com.inductiveautomation.factorypmi.application.sqltags.project.ProjectTag.createTagBinding(ProjectTag.java:84)
at com.inductiveautomation.factorypmi.application.sqltags.project.ProjectTag.startBindingImpl(ProjectTag.java:121)
at com.inductiveautomation.factorypmi.application.sqltags.project.ProjectTag.startBinding(ProjectTag.java:111)
at com.inductiveautomation.factorypmi.application.sqltags.ClientTagFolder.startBinding(ClientTagFolder.java:152)
at com.inductiveautomation.factorypmi.application.sqltags.project.ProjectTagManager.startup(ProjectTagManager.java:445)
at com.inductiveautomation.ignition.client.sqltags.impl.ClientTagManagerImpl.startup(ClientTagManagerImpl.java:155)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.loadProject(IgnitionDesigner.java:853)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$StartupProjectDialogHandler$1.run(IgnitionDesigner.java:1819)
at java.lang.Thread.run(Unknown Source)
ERROR [ProjectTag-Designer-Startup] Error creating tag binding for client tag ‘[Client]Ramp’
java.lang.RuntimeException: Unknown function: ‘ramp’
at com.inductiveautomation.ignition.common.expressions.FunctionExpression.(FunctionExpression.java:27)
at com.inductiveautomation.ignition.common.expressions.parsing.CUP$ELParser$actions.CUP$ELParser$do_action(ELParser.java:567)
at com.inductiveautomation.ignition.common.expressions.parsing.ELParser.do_action(ELParser.java:323)
at java_cup.runtime.lr_parser.parse(lr_parser.java:569)
at com.inductiveautomation.ignition.common.expressions.parsing.ELParserHarness.parse(ELParserHarness.java:22)
at com.inductiveautomation.factorypmi.application.sqltags.project.ProjectTag.createTagBinding(ProjectTag.java:84)
at com.inductiveautomation.factorypmi.application.sqltags.project.ProjectTag.startBindingImpl(ProjectTag.java:121)
at com.inductiveautomation.factorypmi.application.sqltags.project.ProjectTag.startBinding(ProjectTag.java:111)
at com.inductiveautomation.factorypmi.application.sqltags.ClientTagFolder.startBinding(ClientTagFolder.java:152)
at com.inductiveautomation.factorypmi.application.sqltags.project.ProjectTagManager.startup(ProjectTagManager.java:445)
at com.inductiveautomation.ignition.client.sqltags.impl.ClientTagManagerImpl.startup(ClientTagManagerImpl.java:155)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.loadProject(IgnitionDesigner.java:853)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$StartupProjectDialogHandler$1.run(IgnitionDesigner.java:1819)
at java.lang.Thread.run(Unknown Source)
ERROR [ProjectTag-Designer-Startup] Error creating tag binding for client tag ‘[Client]RampHistory’
java.lang.RuntimeException: Unknown function: ‘recorder’
at com.inductiveautomation.ignition.common.expressions.FunctionExpression.(FunctionExpression.java:27)
at com.inductiveautomation.ignition.common.expressions.parsing.CUP$ELParser$actions.CUP$ELParser$do_action(ELParser.java:567)
at com.inductiveautomation.ignition.common.expressions.parsing.ELParser.do_action(ELParser.java:323)
at java_cup.runtime.lr_parser.parse(lr_parser.java:569)
at com.inductiveautomation.ignition.common.expressions.parsing.ELParserHarness.parse(ELParserHarness.java:22)
at com.inductiveautomation.factorypmi.application.sqltags.project.ProjectTag.createTagBinding(ProjectTag.java:84)
at com.inductiveautomation.factorypmi.application.sqltags.project.ProjectTag.startBindingImpl(ProjectTag.java:121)
at com.inductiveautomation.factorypmi.application.sqltags.project.ProjectTag.startBinding(ProjectTag.java:111)
at com.inductiveautomation.factorypmi.application.sqltags.ClientTagFolder.startBinding(ClientTagFolder.java:152)
at com.inductiveautomation.factorypmi.application.sqltags.project.ProjectTagManager.startup(ProjectTagManager.java:445)
at com.inductiveautomation.ignition.client.sqltags.impl.ClientTagManagerImpl.startup(ClientTagManagerImpl.java:155)
at com.inductiveautomation.ignition.designer.IgnitionDesigner.loadProject(IgnitionDesigner.java:853)
at com.inductiveautomation.ignition.designer.IgnitionDesigner$StartupProjectDialogHandler$1.run(IgnitionDesigner.java:1819)
at java.lang.Thread.run(Unknown Source)
[/quote]

This makes the Components unable to display the values they are supposed to have (screenshot attached).

[quote=“ian”][quote]Unknown function: ‘objectScript’[/quote][/quote]You didn’t load the module into your gateway, or you loaded the wrong version.

Pardon me,

  1. What module do I need to load? objectScript?
  2. How do I check the version of the module loaded to be fit with the project?

Thanks!

[quote=“ian”]1. What module do I need to load? objectScript?[/quote]Simulation Aids[quote=“ian”]2. How do I check the version of the module loaded to be fit with the project?[/quote]From your gateway’s configuration web page under “Configuration” => “Modules”. That’s also where you get to the module install page (at the bottom of the list).

That works really well. Thanks! :smiley: What I previously had was “Production-Simulator” module (as it was instructed during the test to use this module). It turns out to be different module from “Simulation Aids” (I didn’t know this).

Thanks for the clarification! :thumb_right: