Manual Pactronic
Manual Pactronic
Manual Pactronic
OCS/RCS
This manual provides introductory level training for Cscape Software users.
Copyright (C) 2004 Horner APG, LLC., 640 North Sherman Drive Indianapolis, Indiana 46201. All
rights reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in
a retrieval system, or translated into any language or computer language, in any form by any
means, electronic, mechanical, magnetic, optical, chemical, manual or otherwise, without the prior
agreement and written permission of Horner APG, Inc.
All software described in this document or media is also copyrighted material subject to the terms
and conditions of the Horner Software License Agreement.
Information in this document is subject to change without notice and does not represent a
commitment on the part of Horner APG.
North America:
(317) 916-4274
www.heapg.com
Europe:
(+) 353-21-4321-266
www.horner-apg.com
In no event, whether as a result of breach of contract, warranty, tort (including negligence) or otherwise, shall HE-
APG or its suppliers be liable of any special, consequential, incidental or penal damages including, but not limited to,
loss of profit or revenues, loss of use of the products or any associated equipment, damage to associated equipment,
cost of capital, cost of substitute products, facilities, services or replacement power, down time costs, or claims of
original purchaser's customers for such damages.
To obtain warranty service, return the product to your distributor with a description of the problem, proof of
purchase, post paid, insured and in a suitable package.
Note: The programming examples shown in this manual are for illustrative
purposes only. Proper machine operation is the sole responsibility of the
system integrator.
Introduction to Cscape
Quick Start Guide
Objective:
The objective of this Quick-Start Guide is to familiarize yourself with some of the
features and functionality of the Cscape programming software.
Equipment Needed:
A PC with Cscape loaded.
1.4 Searches can be done through selecting Find from the top of the screen.
1.4.1 Upon opening the Find portion of the help file, type in “Contacts”
and the following will be shown on the screen.
1.5 The programmer also has the ability to open the help file by pressing F1
on the keyboard of the PC.
2.0 Getting Started
2.1 There are 2 ways to create a new program. A new program will have a
name of “Untitled” until the program is saved as its file name.
2.1.1 Create a program under the File selection on the main menu
2.1.2 Create a new program by pressing the New File from the Tool Bar
at the top of the screen.
2.2 There are 2 ways to save a program. All programs will be saved as the
“filename”.csp
2.2.1 Save a program under the File selection on the main menu
2.2.2 Save a program from the shortcut on the Tool Bar at the top of the
screen.
2.3 There are 3 ways to open a program.
2.3.1 Open the program under the File selection on the main menu.
2.3.2 Open a program from the shortcut on the Tool Bar at the top of the
screen.
2.3.3 The program will automatically open if the program is double
clicked on in the location where it is stored on your PC.
2.4 Configuring a controller is done be clicking the Controller menu and
selecting I/O Configuration. This will bring up the screen below. If no
controller is attached to the PC, the controller will default to the OCS300.
If there is a controller attached to the PC and the target ID matches the
local ID; the controller will match what the PC is attached to. There are 2
ways to configure the controller.
2.4.1 Manually configure the controller by pressing the Config button next
to the controller and then select the controller from the pull down
list.
2.7 The status bar has many useful features. #3 points to the status bar.
2.7.1 User – The User field indicates which user is currently logged into
the program via use of the Security features. If security is not
configured or if no one is currently logged in, this will indicate
NONE as it does in the illustration.
2.7.2 Model – This will let the programmer know which unit the program
is configured for and whether the configured model is equal to the
model that the PC is connected to.
2.7.3 Program Equality – This is the box to the right of the Model box.
This will let the user know if the program in the unit and the
program in Cscape are equal. If the status indicates Unknown, the
user might need to perform a verify between the controller and the
software.
2.7.4 Local and Target – The Local ID indicates the node ID of the
controller that the PC is directly connected to while the Target ID
indicates the node ID of the controller that Cscape is trying to talk
to. The Target ID does not need to match the local id. If
programming is to be performed across the CsCAN Bus, then the
Target will be the node that will receive the download. The (R)
indicates that the controller is in RUN mode, (I) indicates that the
controller is in STOP or IDLE mode, and (D) indicates that the
controller is in DO/IO state. If a (B) is shown, it means the
Notes:
LAB 1
Basic OCS Programming and Configuration
Objective:
The objective of this lab is to give you the knowledge to use Cscape to create a
program including hardware configuration, logic design, and screen development.
This foundation will then be used to help you expand your skills in the use of Cscape
and the OCS.
Procedure:
Step 1
Ø Connect the OCS100 Demo Case to your PC. Connect the serial cable provided
to the OCS 9 pin programming port and the 9 pin serial port on your PC.
Step 2
Ø Power up the OCS and start Cscape on your PC. Connect the power supply to
the OCS. Open the Cscape program on your PC. A new, blank program called
“untitled1” is automatically opened and should be automatically configured for your
OCS if the serial cable is properly connected.
Step 3
Ø Save the ‘untitled1’ program with a new name.
Click on the File menu and select Save As…
Type your program name, such as OCS100.csp, in the File Name dialog box and click
the Save button.
Step 4
Ø Configure the OCS Controller
Click on the Controller menu and select I/O Configure.
If you are online with the OCS, use the Auto Config System button. Clicking it will
automatically configure the controller and any attached I/O if you are connected to the
OCS properly.
Otherwise, to do it manually:
1. Double click on the controller picture.
2. Select OCS100 from the list and click OK
3. Double click on the first I/O module slot
Step 5
Ø Save the program.
Click on the File menu and select Save.
Step 6
Ø Name some I/O points.
Click on the Program menu and select I/O Names.
• Add I/O points by clicking the ‘Add’ button and filling in the information.
• Edit an existing I/O point by finding it in the list and double-clicking it.
Step 7
Ø Program the following rung:
2. Select the name or address from the drop down list. Name the last coil %D2 and
specify it as a Force Screen.
3. Click OK
Step 9
Ø Add words to screen 2.
Note: The lowest numbered non-blank, non-alarm screen is always displayed when no
screen is being forced on by the program.
Step 11
Ø Save the program.
Step 12
Ø Download the program to the OCS100.
1. Select the Program menu and click Download.
2. Use the SmartLoad function when the Download dialog box appears.
3. Click OK.
Once downloaded, make sure the OCS is in Run mode (the green traffic light on the
toolbar).
Step 13
Ø Debug your program
Switch 1 is connected to the first digital input on the DIQ611 I/O card, which is
addressed to %I01.
CONGRATULATIONS! You have finished your first OCS program. Now move on to
LAB 2 and learn additional skills.
NOTES:
LAB 2
Programming and Configuration Lab:
Text Tables
Objective:
Add a variable field to screen 1 containing a Text Table and eliminate screen 2.
This lab is a continuation of LAB 1.
Procedure:
Step 1
Ø Delete screen 2 from the program.
Step 2
Ø Edit screen 1.
Click on Screens, select View/Edit Screens.
Step 3
Ø Delete the word ‘STOPPED’.
1. Right click any place on the second line.
Step 5
Ø Edit the field.
1. With the cursor anyplace in the field, click Edit Field.
2. Change Address to %Q1.
3. Change Field Type to Text Table.
Step 6
Ø Save the program.
Click on File and select Save
Step 7
Ø Download to the OCS.
Click on Program and select Download
Step 8
Ø Check the program operation.
The program should operate exactly the same as it did before. The screen should look
and act the same.
This shows some of the flexibility of the OCS and how easy it is to configure some of
the screen features. Text tables can often be used in place of an entirely new screen,
or simply to associate text with a number to make it easier to decipher that number.
Take, for example, the system register %SR50. This registers represents the Day of
the Week for the OCS’s internal Real Time Clock. It contains a value of 1-7 depending
on what day it is. Linking a text table directly to %SR50 and configuring the text table
as shown would display the days of the week instead of just a number:
NOTES:
NOTES:
LAB 3
Timers and Counters
Objective:
Review and understand Timers and Counters.
Timers Overview:
The purpose of the Timers portion of this lab is to show how each type of Timer
operates and what the difference is between them. Also, using built-in status bits in the
Timer registers can be useful in many cases instead of using additional coils in the
ladder logic.
Note: You will almost ALWAYS use %R registers for Timers and Counters. And they
always use 2 consecutive word-length registers!
REMEMBER! If a timer is addressed to %R1, then %R2.15 will indicate whether the
timer is receiving power (for Counters and TON Timers only). %R2.16 will indicate
whether the timer is passing power to the rest of the rung. In the same way, if
addressed to %R846, then %R847.15 and %R847.16 are those status bits.
10. Label each field on the screen so you can tell them apart. Just type in some text
directly on the screen to do this. Your screen might look something like this in the
screen editor:
11. Download the program to your controller and make sure it is in RUN mode. If the
screen information is on a screen other than Screen 1, use the up and down arrow
keys to scroll to that screen.
12. Compare the operation of %R2.15 (“Off” or “Enabled”) to the operation of the F1 key.
They should be the same.
13. Compare the operation of %R2.16 (“Off” or “Power”) to %M1. They should be the
same. You can use %R2.16 in place of %M1 in programming.
14. Watch the value in %R1 to see the accumulated time when F1 is pressed. Letting
go of F1 before the 3 seconds is up will cause the timer to automatically reset to 0.
5. Download the program to your controller and make sure it is in RUN mode. If the
screen information is on a screen other than Screen 1, use the up and down arrow
keys to scroll to that screen.
6. Press the F2 key and watch the time increment. Let go before the 5 seconds is up
and the time should stay where it is. Pressing F2 again will resume where it left off.
You will have to press F5 to get the timer to restart at 0 again.
4. Download and make sure the controller is in RUN mode. If the screen information is
on a screen other than Screen 1, use the up and down arrow keys to scroll to that
screen.
5. Notice how this timer shows 5.0 seconds in its accumulated time when it is inactive,
but the status bit shows ‘Off’ because power is not being passed.
6. Notice how the accumulated time goes to 0.0 when you press the F3 key and the
status bit shows ‘Power’ immediately.
7. Notice how the accumulated time then starts counting when you let go of the F3 key
and how the status bit still shows ‘Power’ to the rest of the ladder rung, even though
power to the rung has been interrupted.
8. Notice how power is discontinued when the timer reaches its 5 seconds.
Counters Overview:
The purpose of the Counters portion of the lab is to demonstrate how Counters work
and what the difference is between a Count-Up (CTU) Counter and a Count-Down
(CTD) Counter.
Count-Up counters reset to 0 and count up from there, passing power when they
reach their preset value (PV).
Count-Down counters reset to their preset value (PV) and count down from there,
passing power when they reach 0.
Status bits in the Counter’s second register work the same way as the Timer’s status
bits.
Counters increment or decrement only once every time they see power come on from
the ladder rung. This is what the little triangle at the counter input means:
4. Download and make sure the controller is in RUN mode. If the screen information is
on a screen other than Screen 1, use the up and down arrow keys to scroll to that
screen.
5. Press the F4 key and watch the count increment. When it reaches 4, power should
be passed. Pressing F5 will reset the counter regardless of where it is in the count.
6. Notice how the counter continues to count past its preset value if you keep pushing
the F4 key. It will continue to count and will also pass power until it is reset.
7. Notice how the counter’s status bit acts the same as the timer status bit.
3. Download and make sure the controller is in RUN mode. If the screen information is
on a screen other than Screen 1, use the up and down arrow keys to scroll to that
screen.
4. Make sure the counter is reset by pressing the F7 key. Notice how it resets to the
preset value.
5. Press the F6 key and watch the count value decrement. When the count reaches 0,
power will be passed.
6. Notice how the counter will continue to decrement past 0. Depending on how you
have your data field set up, it will either show -1, -2, -3, etc. (Signed Decimal display
format), or it will show 65535, 65534, 65533, etc. (Decimal display format, also
known as Unsigned Decimal).
Extra Credit
For each type of timer or counter, write ladder logic that will switch to the appropriate
screen based on which F-key you press. For example, if you have made 5 screens for
each of the 5 parts of this lab, make F1 switch to your TON screen, F4 switch to your
CTU screen, and so on.
HINT: Remember that %D coils correspond to the screen numbers.
NOTES:
LAB 4
Move Operations
Objective:
Review and understand Move Operations
Overview:
There are several types of Move functions available for use for several types of different
occasions. The ‘Move Operations’ toolbar appears as follows:
In this example, the Mother of All Confusion, both the IN and the Q are
specified as Indirect. This means the controller will look at %R1 and
see a value. Let’s say it is 241. The controller also looks at the value
in %R101. Let’s say it is 341. The controller will then take the values
in %R241-%R248 and move them into %R341-%R348.
Part 1 – Move
1. Start a new program for the controller you are connected to and call it whatever you
want. Configure the controller and I/O as you have done before.
2. Move the value in %R1 to %R101 when the F6 key is pressed.
3. Move the value of 0 into %R101 when the F7 key is pressed.
4. Create a screen with data fields that show %R1 and %R101 and label them. Be
sure to make the %R1 data field editable:
5. Download the program and make sure the controller is in RUN mode.
6. Edit the value in %R1 to whatever you like by pressing the Enter key when the
cursor is under that field, typing in a value on the OCS keypad, and then pressing
Enter again.
7. Press the F6 key to move the value you just edited into %R101.
8. Press the F7 key to move a value of 0 into %R101.
3. Download the program and make sure the controller is in RUN mode. If the screen
you configured is not Screen 1, then use the up and down arrow keys to move to
your screen.
4. Edit the values in %R11-%R13 to whatever you like. Use the arrow keys to select a
field, press the Enter key when the cursor is under that field, type in a value on the
OCS keypad, and then press Enter again.
5. Press the F8 key to move all the values you just edited in %R11-%R13 to %R111-
%R113.
3. Create another screen with data fields to show the registers. Be sure to make the
%R3 data field editable:
4. Download the program and make sure the controller is in RUN mode. If the screen
you configured is not Screen 1, then use the up and down arrow keys to move to
your screen.
5. Edit the value in %R3 to whatever you like.
6. Press the F9 key to fill the value you just edited into %R121-%R123.
7. Press the F10 key to zero out the values in %R121-%R123
2. Add an Indirect Move to your program that is powered with an Always-On system
contact.
HINT: Use that Cheat Sheet to find the Always-On contact!
3. Use the value in %R50 as the “from” address, or pointer. This means you will
have to check the Indirect option in the Source area. Use %R51 as the
destination register. Do NOT check the Indirect option for the Destination.
4. Create a screen with data fields showing %R50 (editable) and %R51:
5. Edit the value in %R50 to equal something between 201 and 210. You will be
able to see the values in %R201-%R210, moved with your Constant Move
function, in %R51, based on the value in %R50.
Extra Credit
Use a Move Word function and the F1, F2, F3 and F4 keys to change between your
screens in the program. F1 should change to the screen with the Move Word
information, F2 should change to the screen with the Block Move information, and so
on.
HINT: Use your Cheat Sheet to find the %SR System Register for User Screens. You
can move a constant value corresponding to the screen you want directly into this
system register. A value of 1 will change to screen 1, a value of 2 will change to screen
2, etc.
NOTES:
LAB 5
CsCAN Basic Networking
Objective:
Review and Understand global data transfer from OCS-to-OCS over CsCAN.
Procedure:
Part 1 - Analog Data Over CsCAN
Step 1
Ø Create new OCS100 program.
1. Title the OCS100 program “OCS100 CsCAN”.
2. Set the target to node id 1. Verify through the system menu of the OCS100 that
the node address is set to 1 and that the baud rate is 125K.
3. Configure the OCS100. (Reference Lab 1 for correct procedure)
4. Write a ladder program to increment a counter every 1 second. Assign the
counter to %R1. The counter should be configured to count to 200. Use the 16th
bit of the second word of the counter, %R2.16, to reset the counter upon the
counter reaching the preset value. Remember that the counter will occupy 2
registers so the counter will consume % R1 – R2.
HINT: %S5 is a system register that pules every second
5. Move the accumulated value of the counter, %R1, to %AQG1. This will
broadcast the counter value onto the CsCAN network. Allowing other nodes on
the network to read the information.
6. Configure screen 1 to display “Outgoing Data” on the first line of the display and
display the data for %AQG1 on the second line of the display. (Reference Lab 1
for help on configuring screens.)
7. Configure %AQG1 to broadcast the data every .5 seconds. AQG data defaults to
broadcast data on a change of 10. So if this is not configured correctly, the
OCS200 AIG data will be updated when the value of %AQG1 changes by 10.
8. To configure the network, click on the Program menu and select Network
Config. Select the AQG tab and configure %AQG1
9. Save the program to the PC and then download the program to the OCS100.
Step 2
Ø Create new OCS200 program.
1. Title the OCS200 program “OCS200 CsCAN”.
2. Set the target to node id 2. Verify through the system menu of the OCS200 that
the node address is set to 2 and that the baud rate is 125K.
3. Configure the OCS200. (Reference Lab 1 for correct procedure)
4. Configure the network to read the information from node 1 into %AIG1.
To configure the network, click on the Program menu and select
Network Config.
Select the AIG tab and configure %AIG1 to for node id 1, remote %AQG1.
5. Configure Screen 1 to display “Incoming Data” on the first line and configure a
data field on the second to display %AIG1. (Reference Lab 1 for help on
configuring screens.)
6. Save the program and then download the program to the OCS200.
Step 3
Ø Verify the program’s functionality. The OCS200 should display the same value
that the OCS100 is displaying on the screen.
Note the OCS200 RUN LED will blink due to the fact that no ladder program has been
down loaded to the controller.
Ø Part 1 Solution.
OCS100 Screen 1
OCS200 Screen 1
Step 2
Ø Modify the OCS100 Program
1. Configure the OCS100 Network Map to read %QG1 - %QG8 from node id 2 into
%IG1 - %IG8. To configure the network, click on the Program menu and select
Network Config. Select the IG tab and configure %IG1 - %IG8, %IG1 will be
mapped to node id 2’s %QG1 and so on.
2. Modify the ladder program to map %IG1 - %IG8 to %Q1 - %Q8. An example
would be a normally open coil for %IG1 driving a normally opened coil %Q1.
This will turn on the LED’s on the front of the OCS100 demo box when the global
inputs are active.
Step 3
Ø Verify the program’s functionality.
When F1 of the OCS200 keypad is pressed, LED 1 of the panel, LED 1 that is
connected to the OCS100 output card, will illuminate.
Ø Part 2 Solution
OCS200 Ladder
NOTES:
LAB 6
Advanced CsCAN Networking
Objective:
Review and understand more advanced global data transfer from OCS-to-OCS over
CsCAN utilizing the Net Put and Net Get ladder instructions.
Overview:
The OCS products have the ability to be configured for multiple node ID’s. This allows
the program to broadcast more than the 64 discrete data and 32 word data that a single
node can normally handle. Utilizing the additional broadcast data requires the
broadcasting unit to be configured for multiple node ID’s and the use of the Net Put
function. Receiving more than 64 discrete and 32 word data doesn’t require the
receiving unit to be configured for multiple node ID’s, but does require the use of the Net
Get ladder function.
Note: Start 2 new programs for the OCS100 and the OCS200. By this point, you have
configured screens for both units so screen configuration is up to the programmer.
Part 2 – Configure
the OCS100
In the OCS100
program, configure
the target ID for 1
and configure the
OCS100 for multiple
node addresses.
Click the Program
menu, select
Network Config,
and then select the
Options tab.
Configure the
OCS100 for 10
Network ID’s.
See Part 4 for pictures of what some of this should look like.
Part 5
In the OCS200 program, configure the target ID for 21 and configure the OCS200 for
multiple node addresses using the same method used on the OCS100. Configure the
OCS200 for 10 Network ID’s.
Part 6
In the OCS200, map the function keys as follows:
%K1 to drive %T1
%K2 to drive %T17
%K3 to drive %T33
%K4 to drive %T49
This will allow the function keys to turn on the different %T bits.
Part 7
Connect the communication cable to the OCS100 and download the program to the
OCS100. Download the OCS200 to the OCS200 by using the pass through feature of
the CsCAN network. Verify that both controllers are in run mode and test the program.
If F1 is pressed on the OCS100, the light for output 1 should come on the OCS200.
Part 8
Add a SmartStix to the network. First set the SmartStix to a free node ID. Make sure it
does not overlap one of the multiple node ID’s that an OCS is using. The ID is set
through the rotary switches on the front of the unit.
Part 9
Add logic to the OCS100 program to get the network heartbeat from the OCS200. The
OCS200 program will need to be programmed to produce the heartbeat to the network.
The heartbeat blocks are in the same toolbar as the other network functions. Keep in
mind the timeout of the
NetGet HB on the receiving
device will need to be
about twice as long as the
timeout of the NetPut HB
on the sending device. The
NetGet HB will pass power
provided that it has
received a heartbeat in the
expected time.
Configure the program to turn on an unused output if the heartbeat expires. Then pull
the CAN cable and the output should come on after the heartbeat expires.
NOTES:
LAB 7
Color Touch Lab: Screen Creation
Objective:
Practice building screens for the Color-Touch OCS.
Connect the serial port of your PC to a Color-Touch OCS. From Cscape, configure the
controller using the “Auto Config” function.
Create an application screen similar to the following:
Run the Ladder Logic, making sure that the logic runs as desired.
Now change your ladder so that the “Run” circuit will not be enabled unless the OCS
is in “Automatic” mode.
Create a new screen, similar to the following:
Add logic to your ladder that uses F1 to call up the control panel screen, and F2 to
display the trend screen. This should work regardless of which screen is
currently being displayed.
Download and test the program.
This screen adds “Start” and “Stop” capabilities to this screen. The “Start” and
“Stop” legends on the above screen are only that – legends. The user must
press F4 to activate the Start Functionality, and F5 to activate the Stop
functionality. Use the same Start (%M1) and Stop (%M2) bits previously
assigned.
More Extra Credit: Make the “Start” legend visible only when the run circuit is off.
Make the “Stop” legend visible only when the run circuit is on.
NOTES:
LAB 8
Graphic Alarms
Objective:
Understand the powerful Alarm capabilities of the Color-Touch OCS.
Procedure:
Build off of your program from Lab 7.
From the Graphics Editor, click on the Config menu and select Alarm.
Configure Alarms as following:
q Alarm Trigger: %M1601
q Max Number of Alarms: 32
Name the first 4 alarms as follows by double-clicking them in the list:
q Alarm 1, Group 1 Low-speed Warning
q Alarm 2, Group 1 High-speed Warning
q Alarm 3, Group 1 Motor Overload Trip
q Alarm 4, Group 1 E-stop Trip
Exit the Alarm configuration and the graphics editor.
Add to your logic to trigger Alarm 1 (%M1601) whenever %R7 is less than 15 (and
the machine is running)
Add to your logic to trigger Alarm 2 (%M1602) whenever %R7 is greater than 90.
Add to your logic to trigger Alarm 3 (%M1603) whenever %I1 is off. Add a normally-
closed %I1 to your run circuit, so that if %I1 is not on, the circuit will not run.
Add to your logic to trigger Alarm 4 (%M1604) whenever %I2 is off. Add a normally
closed %I2 to your run circuit, so that if %I2 is not on, the circuit will not run.
Back in the graphics editor, add an Alarm Indicator Button to the Control Panel
Screen, as well as to the Trend Screen. An example is shown in Figure 1. The
Alarm Indicators should display an Alarm Summary when pressed, for all Alarm
groups.
Create a new screen that is called whenever F3 is pressed. This screen should
contain an Alarm Summary Object, and an Alarm History Object. An example is
also shown in Figure 2.
Download and execute the application. Practice triggering alarms, acknowledging
them and clearing them. Note the differences between what is displayed in the
“Summary” log, and what is displayed in the “History” log.
Use the “Alarm Indicator” button on the first two screens as a means of viewing the
Alarm Summary. Note the conditions that will cause the Alarm Indicator buttons
to change color.
Figure 1
Figure 2
Figure 3
NOTES:
LAB 9
Color-Touch Advanced Graphics Options
Objective:
Understand the functionality of the CompactFlash (CF) functions, the dynamic changes
to screen object attributes, the symbols library, and the video-input feeds into the SVGA
units.
1. Open Cscape and create a ladder program that will write 10 registers of
information, starting at %R1, when triggered by %T1. Use the Write CF
function configured for Create/Append to perform this action and call the file
Data.csv.
2. Create a line of code that will read the information from the Data.csv file and
store the information in %R11 when %T2 is triggered. The offset should be
configured for %R201. If a constant is used as the offset, the program will
always be reading the value in that offset. Place a positive transition coil after
the Read block to trigger an add for the pointer of the offset
3. Create a line with the coil in number 2 triggering an add of 10 to %R201 and
then storing the value back in %R201.
4. Create a line of code that uses the Delete CF block and use the filename of
Data.csv. Also include a move command to reset the pointer for the CF read
to zero.
The OCS CF function blocks support the flash with a DOS/Windows standard FAT16
file system. All names must be limited to the “eight dot three” (8.3) format where the
filename contains a maximum of eight characters, a period, and an extension with a
maximum of three characters. The entire filename including any path must be less than
or equal to 147 characters in length.
Note that all the symbols start with the dollar sign ($) character. Date symbols are in
upper case; time symbols are in lower case.
Note: You MUST specify the filename extension in all cases. It is never automatically
added.
CF Program Downloads
One feature of the CompactFlash functionality is the ability to load an OCS with a
program from a CF card instead of through Cscape.
The programmer saves the Cscape program as a special file type with a .pgm extension
by clicking the File menu and selecting Export to CompactFlash. It can be exported
directly to a CompactFlash writer connected to the computer or to anywhere else on the
computer to be transferred to CompactFlash later. The user will then insert the CF card
into the OCS and, through the System Menu, select CompactFlash to find the correct
file to load.
The screen shot below illustrates where in Cscape the write to CompactFlash is done.
CF Screen Captures
The SVGA ColorTouch OCS units have the ability to capture a displayed screen to
CompactFlash as a JPEG or Bitmap file. These images can then be recalled on the unit
through the CF manager or viewed on a computer with a graphics viewer.
Configuring the Screen Capture function is done through the Graphics Editor by clicking
the Config menu and selecting Screen Capture. A 1-bit register must be configured as
a trigger and a filename for the captured graphic file must be specified. The filename
date functions and filename counters can be used for this. The OCS provides feedback
that the screen capture is done by resetting the 1-bit register to an OFF state.
1. Add a button to the screen that will perform a screen capture. Set the button
for %T3 and make it a toggled button.
2. Configure the Screen Capture to trigger off of %T3 and specify a filename.
3. Add a CF Manager to the screen.
4. Download to the OCS
5. Press the new button
6. Press the CF Manager and then find the captured graphic.
7. Open the file that was just saved to the CF. Note the red edge around the
displayed graphic that indicates it is not a live, updating screen.
Configuring the Video Capture function is done through the Graphics Editor by clicking
the Config menu and selecting Video. A single, 16-bit register is specified that is split
into 4 bits for each of the four channels. There is a table shown on the configuration
screen to help figure out this mapping. The 2nd bit of each 4-bit set is the Save bit. A
filename must be specified for each channel if the Save function is to be used. This
filename adheres to all the rules stated in the above sections.
After configuring the Video and downloading the program, triggering the Save bit for any
video channel will capture a still of that input and save it to CompactFlash as the
filename specified and in the format specified. The Save bit provides feedback in the
same way as the Screen Capture function in that it will be reset when the OCS is done
saving the file.
6. Configure the background screen for black, the line and data color to green.
7. Place an object on the screen, such as a box.
8. Configure the attributes to the same as the attributes listed above.
9. Configure the fill color of the box to green.
10. Download the program
11. You should be able to use the FILL COLOR box to change the color of the
text in that box and also the color of the other box. Note that the legend text
of the Text Table doesn’t change color.
Symbol Factory
With every purchased copy of Cscape, the software is sent with the symbol factory.
The simple factory pictures can be used as static bitmaps on the screen or in an
animated bitmap.
1. Delete the objects off of the current screen.
2. Place another text table box on the screen.
3. Configure the address to %R100
4. Configure the text table to be editable.
5. Set the text table for 5 digits.
6. Configure a new text table for the following.
0 = LEFT
1 = UP
2 = RIGHT
7. Change the legend to Switch
MAN0775-01 28 OCT 2004 95
Lab 9: Advanced Graphic Options
NOTES:
CHEAT SHEET
Data Types
BOOL - Boolean; A single bit. It can contain only the values '0' or '1', a.k.a ‘FALSE’ or ‘TRUE’
BYTE - Byte; A string of 8 consecutive bits. Byte format is used more where the value of
the data is not as important as the bit patterns (shifts and rotates).
WORD – Word; A string of 16 consecutive bits. Word format is used more where the value of
the data is not as important as the bit patterns (shifts and rotates).
DWORD - Double Word; A string of 32 consecutive bits. DWORD format is used where the
value of the data is not as important as the bit patterns (shifts and rotates).
INT – Integer; A 16-bit signed value. Integers are used where the value of the data is expected
to be in the range of -32,768 to +32,767
SINT - Short Integer; An 8-bit signed value. Short Integers are used where the value of the data
is expected to be in the range of -128 to +127.
DINT - Double Integer; A 32-bit signed value. Double Integers are used where the value of the
data is expected to be in the range of -2,147,483,648 to +2,147,483,647.
UINT - Unsigned Integer; A 16-bit unsigned value. Unsigned Integers are used where the
value of the data is expected to be in the range of -0 (zero) to 65,535.
USINT - Unsigned Short Integer; An 8-bit unsigned value. Unsigned Short Integers are used
where the value of the data is expected to be in the range of 0 (zero) to 255
UDINT - Unsigned Double Integer; A 32-bit unsigned value. Unsigned Double Integers are used
where the value of the data is expected to be in the range of 0 (zero) to 4,294,967,296.
REAL - Floating Point; A 32-bit value. Values are stored and operated on in IEEE single
precision (six digit) format. Values range from -3.40282E+38 to +3.40282E+38.
STRING – String; A variable-length succession of characters. Each character is represented by
one byte.
Register Types
Type Description and example of what might use the type Format Retentive #Available
%I Discrete Inputs from the field; prox sensors, panel buttons, etc BOOL YES 2048
%Q Discrete Outputs to the field; relays, indicator lamps, etc. BOOL NO 2048
%AI Analog Inputs from the field; Thermocouples, 4-20mA inputs WORD YES 512
%AQ Analog Outputs to the field; 0-10VDC or 4-20mA outputs WORD NO 512
%IG Global Discrete Inputs from the CAN; in from other OCS BOOL YES 64 per node
%QG Global Discrete Outputs to the CAN; out to other OCS BOOL NO 64 per node
%AIG Global Analog Inputs from the CAN; in from other OCS WORD YES 32 per node
%AQG Global Analog Outputs to the CAN; out to other OCS WORD NO 32 per node
%T Internal Temporary bits, use for contacts and coils BOOL NO 2048
%M Internal Temporary bits, use for contacts and coils BOOL YES 2048
%R Internal Registers, use for Timers and Counters and other data WORD YES 2048-9999
%K Keypad bits, reflect Function Key status BOOL NO 5-12
%D Display bits, control screens or indicate screen on/off BOOL NO 200-1023
%S Internal System Bits (See System Registers) BOOL --- ---
%SR Internal System Registers (See System Registers) WORD --- ---
System Bits
Point Name Function Point Name Function
%S01 FST_SCN Indicates First Scan %S07 ALW_ON Always ON
%S02 NET_OK Network is OK %S08 ALW_OFF Always OFF
%S03 T_10MS 10mS pulse %S09 PAUSING_SCN Pause 'n Load soon
%S04 T_100MS 100mS pulse %S10 RESUMED_SCN Pause 'n load done
%S05 T_1SEC 1 second pulse %S11 FORCE I/O being forced
%S06 IO_OK I/O is OK %S12 FORCE_EN Forcing is enabled
System Registers - For Details on the functionality of the different SR registers, consult the help file.
*Maximum User, Alarm and System screens vary from model to model
Max = 200 for MiniOCS, OCS1x0, OCS2x0… Max = 1023 for OCS250, OCS3xx, OCS4/5/651
Nate Beachey
System Design Engineer
Ext. 466
nathan.beachey@heapg.com