Complies with Part 68, FCC rules. FCC Registration No. B9QUSA-31402-MM-T
Ringer Equivalence 0.5A.Required Connector USOC RJ11C.
This equipment complies with the requirements in Part 15 of FCC Rules for Class A
computing device. Operation of this equipment in a residential area may cause
unacceptable interference to radio and TV reception requiring the operator to take
whatever steps are necessary to correct the interference.
“PRODUCTS MANUFACTURED BY CAMPBELL SCIENTIFIC, INC. are
warranted by Campbell Scientific, Inc. (“Campbell”) to be free from defects in
materials and workmanship under normal use and service for twelve (12)
months from date of shipment unless otherwise specified in the corresponding
Campbell product manual. Batteries, fine-wire thermocouples, desiccant, and
other consumables have no warranty. Campbell's obligation under this
warranty is limited to repairing or replacing (at Campbell's option) defective
products, which shall be the sole and exclusive remedy under this warranty.
The customer shall assume all costs of removing, reinstalling, and shipping
defective products to Campbell. Campbell will return such products by surface
carrier prepaid within the continental United States of America. To all other
locations, Campbell will return such products best way CIP (Port of Entry)
INCOTERM® 2010, prepaid. This warranty shall not apply to any Campbell
products which have been subjected to modification, misuse, neglect, improper
service, accidents of nature, or shipping damage. This warranty is in lieu of all
other warranties, expressed or implied. The warranty for installation services
performed by Campbell such as programming to customer specifications,
electrical connections to products manufactured by Campbell, and product
specific training, is part of Campbell’s product warranty. CAMPBELL
EXPRESSLY DISCLAIMS AND EXCLUDES ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE. Campbell is not liable for any special, indirect,
incidental, and/or consequential damages.”
Assistance
Products may not be returned without prior authorization. The following
contact information is for US and international customers residing in countries
served by Campbell Scientific, Inc. directly. Affiliate companies handle
repairs for customers within their territories. Please visit
www.campbellsci.com to determine which Campbell Scientific company serves
your country.
To obtain a Returned Materials Authorization (RMA), contact CAMPBELL
SCIENTIFIC, INC., phone (435) 227-2342. After an applications engineer
determines the nature of the problem, an RMA number will be issued. Please
write this number clearly on the outside of the shipping container. Campbell
Scientific's shipping address is:
CAMPBELL SCIENTIFIC, INC.
RMA#_____
815 West 1800 North
Logan, Utah 84321-1784
For all returns, the customer must fill out a "Statement of Product Cleanliness
and Decontamination" form and comply with the requirements specified in it.
The form is available from our web site at www.campbellsci.com/repair. A
completed form must be either emailed to repair@campbellsci.com or faxed to
(435) 227-9579. Campbell Scientific is unable to process any returns until we
receive this form. If the form is not received within three days of product
receipt or is incomplete, the product will be returned to the customer at the
customer's expense. Campbell Scientific reserves the right to refuse service on
products that were exposed to contaminants that may cause health or safety
concerns for our employees.
COM310 Table of Contents
PDF viewers: These page numbers refer to the printed version of this document. Use the
PDF reader bookmarks tab for links to specific sections.
This equipment complies with the requirements in Part 15 of FCC Rules for Class A
computing device. Operation of this equipment in a residential area may cause
unacceptable interference to radio and TV reception requiring the operator to take
whatever steps are necessary to correct the interference.
COM310
VOICE SYNTHESIZER
12V
G
1. Introduction
The COM310 is a voice-synthesizer modem that supports the PakBus and
mixed-array dataloggers that have voice capability (see Section 4.3). The
COM310 allows them to announce by telephone the data stored in variables or
input locations, the status of control ports, and the status of user flags.
Included is the ability to toggle datalogger ports and flags. You can program a
datalogger so you can call-in to the station and listen to announcements, or so
the datalogger calls you with an announcement when specified conditions are
met, or you can program for both.
Although the primary function of the COM310 is voice communications, the
modem is also capable of data communications. In data mode the COM310
supports standard datalogger functions including program send and data
collection. The COM310 supports data callback from the CR1000, CR3000,
and other dataloggers with OSs that support it. The CR10X, CR510, and
CR23X mixed-array OSs support data callback but their PakBus OSs do not.
This manual provides information regarding COM310 specifications,
installation, and operation. Quick Start (Section 3) presents an example
CR1000 voice callback/callin program with descriptions of the code.
aSection 6.3 explains how to make a good earth ground connection to maximize
protection of the COM310 against lightning and electro-static discharge.
FIGURE 1. COM310 Voice Synthesizer Modem
1
COM310 Voice Communications Modem
2. Specifications
• Bell 212A, CCITT V.21, and V.32BIS compatible
• Full duplex at 9600 and 1200 baud to datalogger
• V.42 LAPM and MNP2-4 error detection/correction
• Hayes AT command set
• RJ-11C telephone jack
• FCC and IC (formerly known as DOC) approval
• Pulse or tone dialing
• Power supply voltage requirement: 12 VDC
• Power supply current drain: 100 μA quiescent, 180 mA active
• Internally switches 12 VDC power to minimize current drain
• Connects directly to CS I/O port of many CSI dataloggers
(for communications and 12V power)
•Logic levels: below 1.5 V inputs a low state and above 3.5 V inputs a
high state. A low voltage level on the TX data input (pin 9) and RX data
output (pin 4) represents a mark
• Operational temperature: −25°C to +50°C
• Size: 5.2” x 1.7” x 3.6” // 13.1 x 4.3 x 9.2 cm
• Weight: 0.75 lbs // 0.34 kg
3. Quick Start
NOTE
For information regarding the COM310 theory of operation refer to Appendix
A of this manual.
This section presents Basic_Voice_2.cr1 an example voice callback/callin
program written to demonstrate functions of the COM310. It can serve as a
starting point from which you build your own application program. Test well
the auto-disconnect capability as you customize the voice code and merge your
measurement sections with the voice code.
To demo the example program, obtain the following items or their equivalent:
1) COM310 (OS01062006.SR or later OS)
2) SC12 Cable
3) CR1000 datalogger
4) 3 inches of thermocouple wire
5) PS100 Power Supply
6) Phone modem for your PC
7) LED in series with 1000 Ohm resistor
8) Analog phone line
Some office phone lines are digital and the COM310 cannot
interface to them. Connect the COM310 to analog phone lines
only.
2
You will also need:
1) IBM
2) LoggerNet 3.15 or later installed on PC.
TM
compatible PC with available COM port
Unlike the CR10X, CR510 and CR23X where voice code is appended to a
finished measurement program using LoggerTalk software, the CR1000 voice
code is created along with the measurement program using the CRBasic editor.
It is recommended you finish and debug the voice portion of your program
first, and then add the measurement code.
The example CR1000 voice callback/callin program that follows supports the
following functions:
• Voice callin
• Voice callback
• Auto-disconnect
• Auto redial
• Alarm reset
The following steps show how to build a station to demo the example voice
callback/callin program. The voice station can further serve to test/debug your
custom voice program and merge it with your application program.
Step 1 – LoggerNet Setup
1) In LoggerNet Setup create the following device map
COM310 Voice Communications Modem
2) Configure ComPort and PhoneBase for your PC’s phone modem.
3) Configure PhoneRemote to include the COM310’s analog phone number
followed by six commas and a 9.
4) Click on CR1000phone (renamed) and verify that the PakBus Address is 1.
Step 2 – Hardware Setup
1) Start with a CR1000 having factory settings. If unsure of settings, close
LoggerNet, connect SC12 cable from PC ComPort to CR1000 RS-232
port, run Device Configuration Utility, set Serial Port to match the PC
ComPort, Connect and click on the Factory Defaults button, Apply
settings and Disconnect.
2) Connect CR1000 to PS100 (turned off).
3) Connect SC12 cable from COM310 to CR1000 CS I/O port.
4) Connect analog phone line to COM310.
5) Turn on PS100.
6) Connect prepared TC to CR1000’s DIFF 7 analog input.
7) Connect LED with 1000 Ohm resistor connected to anode lead from C1 to
G (resister to C1).
3
COM310 Voice Communications Modem
Step 3 – Send BASIC_VOICE_2.CR1 to CR1000
1) Download BASIC_VOICE_2.CR1 from CSI web site under Support,
Downloads, Program Examples to a folder on your hard drive.
2) From LoggerNet Toolbar run CRBasic editor and open
BASIC_VOICE_2.CR1.
3) Change PHONE1 (a constant in SlowSequence near bottom of program)
to your office phone number to be used for callback and Save and
Compile the change.
4) You can change PHONE2, etc. to nearby phone numbers for testing or
comment out those lines of code. NUMPHONES should equal the number
of active phone numbers.
5) If the TC at DIFF 7 isn’t Type T, change the program to match your TC
type and Compile and Save.
6) Connect to CR1000phone and in Connect Screen, Tools, File Control send
VOICE.TXT (typically in C:\Campbellsci\Lib\Compilers) to the CR1000.
7) ConnectScreen send BASIC_VOICE_2.CR1 to CR1000phone.
If you send BASIC_VOICE_2.CR1 before VOICE.TXT, you’ll see some
NOTE
errors. In this case just send VOICE.TXT followed by
BASIC_VOICE_2.CR1 again, and it will compile properly.
Step 4 – Callin
Step 5 – Callback
8) Close File Control and Disconnect from CR1000phone
9) Your CR1000 voice station is ready to demo
1) Using a touch-tone phone, dial the number of the analog phone line
connected to the COM310.
2) You should hear a ring or two, some faint clicking and then the voice
announcements:
CURRENT STATION DATA
PRESS ONE TO HEAR THE BATTERY VOLTAGE
PRESS TWO TO HEAR THE DATALOGGER TEMPERATURE
PRESS THREE TO HEAR THE T C TEMPERATURE
PRESS STAR TO DISCONNECT
3) Pressing 1, 2, 3, or * should produce the result indicated.
1) Grip the end of the thermocouple to raise its temperature above 85F
setting an alarm condition.
2) In a few seconds you should be able to detect the dial tones as a voice
callback proceeds. The first phone number in the program should ring.
Picking up the phone you should hear:
PRESS POUND TO RESET ALARM, PRESS STAR TO DISCONNECT
4
COM310 Voice Communications Modem
Pressing the # key you should hear:
C R ONE THOUSAND STATION
PRESS ONE TO HEAR A SENSOR VALUE
PRESS TWO TO HEAR OR TOGGLE PORT
PRESS THREE TO HEAR OR TOGGLE FLAG
PRESS STAR TO DISCONNECT
3) Navigate around in the menus to learn the program’s capabilities:
a) Press 2 to access the Ports Menu
b) Press 1 to read the logic state of Control Port 1
c) Press # to toggle the logic state of Control Port 1 (C1’s LED should
turn on).
d) Press # again (C1’s LED should turn off)
e) Press * to return to “C R ONE THOUSAND STATION” menu
f) Press * to hang up
4) Try hanging up the phone without pressing * (disorderly exit) and see if
the modem automatically hangs up after a few seconds.
5) As you press the keys to navigate around in the menus you will find that
occasionally you get an unexpected response. Phone connections are
susceptible to noise pickup and signal attenuation. Depending on your
particular phone equipment and the phone lines and equipment between
you and the voice station, you may at times experience some of the
following:
a) You press * and the voice station hangs up but doesn’t say,
“Goodbye.”
b) A voice callback rings your phone but you pick up to silence
Certain phones are more of a problem due to low signal levels or
switch bounce.
6) Helpful hints for pressing phone keys to control a voice station
a) Press a key firmly (but not too long)
b) Allow a second between keys
c) Press the same key again if a wrong response is gotten
d) If no response, try pressing key again or press # key to recover
e) If unresponsive, try rapidly pressing a series of five * keys to
disconnect station.
f) Worst case, allow 6 minutes for the voice station to reset itself
Following is the text of the BASIC_VOICE_2.CR1 example voice
callback/callin program employing VoiceSetup( ). The program should be
available for download on our website under Support/Downloads/Program
Examples. Following the program is a description of its main sections.
5
COM310 Voice Communications Modem
' CR1000
' BASIC_VOICE_2.CR1
' Send VOICE.TXT to CR1000 before sending this program.
' Program employs VoiceSetup instruction available in OS CR1000.Std.12 and later
' 1st phone number is called if Diff 7 TC temperature > 85F
‘ Program continues to call callback phone number list until someone answers and presses # key
‘ resetting alarm.
' Callback phone numbers are in constants in the SlowSequence at the bottom of the program.
' Key Press Functions:
' # resets alarm condition or toggles port/flag
' 1,2,3,4,5,6,7,8 select certain menu items
' * returns one menu level (returns from subroutine) or disconnects
' 0 is not used in this program
' 9 should be avoided since it will trigger an attempt to connect to a modem
' Timeouts (for key presses and for the total on line time) are constants listed below
' and can be adjusted.
Public Value(3)
Alias Value(1) = BatteryV
Alias Value(2) = PTemp
Alias Value(3) = TCValue_F
Const KeyTimeout = 800 ' 8 second timeout waiting for key stroke before hangup
Const SecsOnLine = 360 ' 6 minutes On Line Timeout
Const STAR = 42 ' The * key (STAR)
Const POUND = 35 ' The # key
Const HangupIfKeyTimeout = TRUE ' Will hangup if times out waiting for a key
Const RINGTIME = 20 ‘ Maximum time allowed for a phone to be picked up and # pressed
Public mykey As Long
' **** VOICE CODE executed when DL detects COM310 RING or when DialVoice() succeeds ****
Public CallingOut As Boolean ' Detects whether we are calling out or calling in
' STAR (*) key will be used to return from subroutines and to disconnect if not in a subroutine
VoiceBeg
If CallingOut Then ' We are calling out triggered by DialVoice()
Call CallOutVoice
Else
Call CallInVoice ' We are calling in
EndIf
EndVoice
6
COM310 Voice Communications Modem
' ***** Subroutines *****
' Called when calling in:
Sub CallInVoice
Do
VoiceSpeak ("CURRENT STATION DATA 50MS 50MS", 0)
VoiceSpeak ("PRESS ONE TO HEAR THE BATTERY VOLTAGE 50MS", 0)
VoiceSpeak ("PRESS TWO TO HEAR THE DATALOGGER TEMPERATURE 50MS", 0)
VoiceSpeak ("PRESS THREE TO HEAR THE T C TEMPERATURE 50MS", 0)
VoiceSpeak ("PRESS STAR TO DISCONNECT", 0)
Select Case VoiceKey(keytimeout)
Case 1
VoiceSpeak ("THE BATTERY VOLTAGE IS" + Value(1) + "VOLTS", 1)
Case 2
VoiceSpeak ("THE REFERENCE IS" + Value(2) + "DEGREES", 1)
Case 3
VoiceSpeak ("THE AIR TEMPERATURE IS" + Value(3) + "DEGREES", 0)
EndSelect
Loop ' Until timeout or STAR
EndSub
' Called when calling out:
Public Alarm As Boolean, ArmAlarm As Boolean, ManualAlarm As Boolean
Sub CallOutVoice
' Dial # reset to reset alarm = 0
Timer(1,Sec,2) ‘ Start timer
Do
VoiceSpeak("50MS PRESS POUND TO RESET ALARM 50MS PRESS STAR TO DISCONNECT", 0)
mykey = VoiceKey(0)
If Timer(1,Sec,4) >= RINGTIME Then ExitSub ‘ Max time to await pick up and # press
Loop Until mykey = POUND
' Someone cleared the alarm, let them proceed and do other things
Alarm = False
Do ' Until timeout
VoiceSpeak ("50MS C R ONE THOUSAND STATION 50MS 50MS", 0)
VoiceSpeak ("PRESS ONE TO HEAR A SENSOR VALUE 50MS 50MS", 0)
VoiceSpeak ("PRESS TWO TO HEAR OR TOGGLE PORT 50MS 50MS", 0)
VoiceSpeak ("PRESS STAR TO DISCONNECT 50MS 50MS", 0)
Select Case VoiceKey(KeyTimeout)
Case 1
Call SubKey1
Case 2
Call SubKey2
Case 3
Call SubKey3
EndSelect
Loop ' Until timeout
EndSub
7
COM310 Voice Communications Modem
' Monitors a value
Sub SubKey1
Do
VoiceSpeak ("50MS PRESS SENSOR NUMBER 50MS PRESS STAR TO RETURN", 0)
mykey = VoiceKey (KeyTimeout)
If mykey = 1 Then VoiceSpeak ("50MS THE BATTERY VOLTAGE IS" + Value(1) + "VOLTS", 1)
If (mykey = 2) Then VoiceSpeak ("50MS THE REFERENCE IS" + Value(2) + "DEGREES", 1)
If (mykey = 3) Then VoiceSpeak ("50MS THE T C IS" + Value(3) + "DEGREES", 1)
Loop ' Sensor value loop
EndSub
' Read a port and possibly toggle
Sub SubKey2
Do ' Until * or timeout
Dim keybit,port As Long,state
VoiceSpeak("50MS PRESS PORT NUMBER 50MS PRESS STAR TO RETURN", 0)
port = VoiceKey(keyTimeout)
If (port > 0) AND (port <= 8) Then
keybit = 2^(port-1) ' Bit 0..7 is set in keybit. Keybit = 2^(port-1).
Do
ReadIO(state, &b11111111)
VoiceSpeak("50MS C" + port + "IS",0)
If state AND keybit Then
VoiceSpeak("ON",0)
Else
VoiceSpeak("OFF",0)
EndIf
VoiceSpeak("50MS PRESS POUND TO TOGGLE 50MS PRESS STAR TO RETURN", 0)
If VoiceKey(KeyTimeout) = POUND Then
ReadIO (state,&b11111111)
If state AND keybit Then
state = state AND (NOT keybit)
Else
state = state OR keybit
EndIf
WriteIO(&b11111111,state) ' Toggle control port
EndIf
Loop
EndIf
Loop
EndSub
‘ Read a flag and possibly toggle
Sub SubKey3
Const NUMBERFLAGS = 8
Public Flags(NUMBERFLAGS)
Do ' Until * or timeout
VoiceSpeak("50MS PRESS FLAG NUMBER 50MS PRESS STAR TO RETURN", 0)
mykey = VoiceKey(keyTimeout)
If (mykey > 0) AND (mykey <= NUMBERFLAGS) Then
Do
VoiceSpeak("50MS FLAG" + mykey + "IS",0)
8
COM310 Voice Communications Modem
If Flags(mykey) Then
VoiceSpeak("ON",0)
Else
VoiceSpeak("OFF",0)
EndIf
VoiceSpeak("50MS PRESS POUND TO TOGGLE 50MS PRESS STAR TO RETURN", 0)
If VoiceKey(KeyTimeout) = POUND Then
flags(mykey) = NOT flags(mykey)
Else
ExitDo
EndIf
Loop
EndIf
Loop ' Port loop
EndSub
' <<< VOICE CALLBACK CODE that executes when alarm conditions are met >>>
SlowSequence
' Slow Sequence do loop forever possibly doing alarm call out
Const NUMPHONES = 3 ' 3 phone numbers to try
Const PHONE1 = "1112223333"
Const PHONE2 = "1112224444"
Const PHONE3 = "1112225555"
Dim i,Phones(NUMPHONES) As String
phones(1) = PHONE1
phones(2) = PHONE2
phones(3) = PHONE3
Alarm = FALSE
ArmAlarm = TRUE
Do ' Forever
Delay(1,1,sec)
If (TCvalue_F < 85) Then
ArmAlarm = TRUE
9
COM310 Voice Communications Modem
ElseIf (TCvalue_F > 85 AND ArmAlarm) OR ManualAlarm = TRUE Then
ManualAlarm = False
Alarm = TRUE'
Do
For i = 1 To NUMPHONES
' Call these numbers until the alarm is cleared
If Alarm Then DialVoice(phones(i)) ' Calls only if alarm is set
Next i
If Alarm Then Delay(1,1,min)
Loop Until Alarm = FALSE
ArmAlarm = False
EndIf
Loop
EndProg
Example Program Description
Basic_Voice_2.cr1 has five main sections:
1. VoiceSetup( ) - handles auto-disconnect.
VoiceSetup( )
WARNING
2. Voice Beg / EndVoice - routes execution to callin or callout subroutines.
3. CallInVoice Subroutine - executes when VoiceBeg detects a callin
4. CallOutVoice Subroutine - executes when VoiceBeg detects a dial-up. It
looks for a pound (#) key to reset “alarm” variable to false.
5. SlowSequence - continually looks for the “alarm” variable to be true
which, if it finds, it dials a list of phone numbers until “alarm” is no longer
true. It signals Voice Beg when a callout dial-up is in progress.
The VoiceSetup instruction is used to control the hang up of the COM310
voice modem. It controls which key is used to exit a subroutine and which is
used to continue to the next VoiceKey instruction. It also determines how long
the COM310 can be ‘off hook’ before the datalogger automatically hangs it up
(auto-disconnect). And it controls whether or not the modem hangs up after a
VoiceKey instruction timeout. The “Callout” parameter indicates that the
modem has received a ‘call in’ or has dialed a ‘call out.‘
The VoiceSetup SecsOnLine setting is important as it
hangs up (auto-disconnects) the modem in case
someone cradles the phone or leaves the phone off-hook
without pressing star keys for an orderly “good-bye”
disconnect. Test well your entire program in this regard
before deployment to avoid possible lengthy off-hook
states disallowing incoming calls, running up a phone
bill and draining the station power supply.
10
Voice Beg / EndVoice
The VoiceBeg / EndVoice instruction pair enclose the code that is executed
when the datalogger detects a ring from its voice modem (at call in).
CallInVoice Subroutine
This subroutine contains the code pointed to by VoiceBeg / EndVoice that is to
execute after a call in occurs. It consists mainly of VoiceSpeak menu
announcements followed by a VoiceKey instruction prompting caller input and
a Select Case statement choosing the program’s responses to various caller key
presses.
CallOutVoice Subroutine
The CallOutVoice subroutine contains the code that is to execute when
VoiceBeg / EndVoice detects that a call out phone number has been dialed. It
prompts a responding party to press the # key after which it announces the
menu selections to hear: battery voltage, panel temperature, or thermocouple
temperature (SubKey1); datalogger port status of C1 - C8 (SubKey2); or
datalogger flag status of F(1) - F(8) (SubKey3). The state of the ports and flags
can be toggled as well as heard.
COM310 Voice Communications Modem
SlowSequence
Contains code that continually executes looking for the Diff 7 thermocouple to
exceed 85F in which case the variable “alarm” is set to True and a call out
(callback) is initiated. It dials the first phone number on the list. If no answer,
after 20 seconds the second number is dialed. The list of phone numbers is
dialed repeatedly until someone picks up and presses the # key (monitored by
the CallOutVoice subroutine) which resets “alarm” to False and allows the
responding party to proceed into the CallOutVoice menus.
4. System Components
4.1 COM310 Modem
Connecting a COM310 voice modem to a datalogger provides all COM210
supported functions plus the following:
• Voice retrieval of data (user or datalogger initiated)
• Reading/Toggling of datalogger control ports
• Reading/Toggling of program Flags
The COM310 ships with an SC12 cable (9-pin to 9-pin) for connecting
between the modem CS I/O port and datalogger CS I/O port.
NOTE
The COM310’s communication port is designed to function with
a Campbell Scientific CS I/O port. This is not an RS-232 port.
See Appendix E for the CS I/O port description.
11
Loading...
+ 39 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.