JJH

Copy 1734-IB8S data

7 posts in this topic

Hello group,

Is it possible to copy the data string from a 1734-IB8S to a datatype such as an INT or DINT? When setting up the I/O with a Safety PLC, the discrete I/O is setup within the Safety Program but it's contained within the program itself. To utilize the same I/O points in a Continuous task requires inserting and remapping the I/O points to essentially the same tags. If the I/O data could be moved/copied to a global datatype within the Safety Program, it seems like it would reduce any redundancy in the Continuous tasks.

 

Anyone done anything like that/ Suggestions?

Share this post


Link to post
Share on other sites

I'll be brief...the 1734-IB8S data is created as a controller scope safety tag.  The inputs can be used anywhere in the project; they already are global datatypes.

Also, don't use continuous tasks.  Instead, create periodic tasks and give them all the proper period, priority, and watchdog.

Edited by Cannonier10

Share this post


Link to post
Share on other sites

Greetings and thanks for that info! Can you be more specific as to what sort of priority would be set up on a periodic task, as well as how the watchdog should be configured?

Share this post


Link to post
Share on other sites

Absolutely,

The periodic tasks in your project should be created for the respective machine function, and each function should have a priority.  Tasks that have a higher priority, interrupt lower priority tasks.  A lower number equals a higher priority; so, a priority of 1 is the highest priority task.  The only thing that interrupts a periodic task with a priority of 1 is controller overhead, safety tasks, and motion planner.  So, priority 1 tasks are your most important machine functions.  Priority 2 is the second highest...etc.

The watchdog is the amount of time the controller waits to fault in-between executions of a periodic task.  So, when a periodic task initially executes the watchdog starts timing, if the periodic task doesn't execute again before the watchdog elapses, you will get a major or minor controller fault.  After each time the periodic task executes the watchdog resets.  This protects your controller and machine from endless loops, and helps you monitor execution time.

You should download the Logix 5000 Design Considerations manual.  The manual number is 1756-RM094L-EN-P, and you can find it in Rockwell Literature Library.  Typically, I don't recommend reading through entire manuals like they are books, but I do recommend reading through Chapters 4 and 5 of this manual.  A lot of good information in it, that should be committed to memory by anyone who programs in Logix 5000 often.

Hope this helps.

Share this post


Link to post
Share on other sites
2 hours ago, JJH said:

Greetings and thanks for that info! Can you be more specific as to what sort of priority would be set up on a periodic task, as well as how the watchdog should be configured?

In the properties dialog box of every task there is a Configuration tab. In a periodic task, this is where you set up the Period (how often the task executes), the task priority (1 through 15, 1 is the highest priority) and watch dog timer (max time the task is allowed to execute without causing a controller fault).

If a Task A has a priority of 5 is to execute every 20mSecs and Task B has priority of 3 and is to execute every 22mSecs, at 20mSec Task A will interrupt the continuous task and begin to execute. At 22mSec Task B will interrupt Task A, execute, then hand control back to Task A. Task A will pick up where it left off, finish executing, then hand control back to the continuous task. Rinse and repeat. If you give two tasks the same priority level and they attempt to execute at the same time, they will hand control back and forth to each other at 1mSec intervals. This is called "time slicing" and will really slow down the execution of your code.

The watch dog timer default setting on all tasks is 500mSec, but can be set to between 0.1 and 2B mSec. If the total accumulated execution time of any task exceeds its watch dog timer setting the controller will go into a major recoverable fault, and you process will come to a halt. 

Share this post


Link to post
Share on other sites

Amazing information! I will look into this further and implement it into this particular project!

Share this post


Link to post
Share on other sites

@Cannonier10 I must've been composing my response when you posted yours and I didn't catch that before submitting. Sorry for duplicating your efforts.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now