Author Topic: Program that can log from many multimeters.  (Read 649593 times)

0 Members and 13 Guests are viewing this topic.

Offline Scheppo

  • Contributor
  • Posts: 23
  • Country: de
Re: Program that can log from many multimeters.
« Reply #2375 on: April 24, 2022, 05:45:32 pm »
Many thx for all Tips.

1. the drop to 1V was eliminatet after i set eol\r without the "\n"
2. Interface setON was my Mistake. The last Column from GETD Command ist the CV/CC Status, not ON/OFF Status.
3. The Radio Buttons dont marked when i klick on it but the Command work ok.
4. I cant set any V or C value with the Set Button
5. I add a kbON Cmd because when Popup Readout is active i can not change V or C on the PS. So i add an AskValue Cmd for this to enable this short Time.

All is working fine i think except Point 3+4 above.
Programming is very funny and makes me happy (when it works :) ), but many formulas i dont understand so i ask many Times here, sorry for this.


Here is my Code:
Code: [Select]
#idString Manson,HCS-3404
#name HCS 3404
#handle HCS3404
#driver Ascii
#port comfixedbaud
#baudrate 9600N81
#eol \r
;-----------------------------
#scpiCmd setV tx VOLT(formatDouble(value*10,3,3,0,0))
#scpiCmd setC tx CURR(formatDouble(value*10,3,3,0,0))
#scpiCmd getVS? txrx? GETS
:readmath: (substring(value,0,3)/10.0)
#scpiCmd getCS? txrx? GETS
:readmath: (substring(value,3,6)/10.0)
#scpiCmd getV? txrx? GETD
:readmath: (substring(value,0,4)/100.0)
#scpiCmd getC? txrx? GETD
:readmath: (substring(value,4,8)/100.0)
#scpiCmd getCVCC? txrx? GETD
:readmath: (substring(value,8,9))
#scpiCmd kbON tx ENDS
#scpiCmd outON tx SOUT0
#scpiCmd outOFF tx SOUT1
;-----------------------------
#value VSet V D2
#value VGet V D2
#value CSet A D2
#value CGet A D2
#value CVCCget CVCC SI
#askValues getVS?;[10];getV?;[10];getCS?;[10];getC?;[10];getCVCC;[10];kbON
;-----------------------------
#interfaceType PS
#interface setVoltage setV (value)
#interface setCurrent setC (value)
#interface setOn outON:outOFF
#interface getVoltage getV?
#interface getCurrent getC?
#interface readVoltage 1
#interface readCurrent 3
;-----------------------------
#cmdDelayTime 50
#cmdSetup radio Voltage
:read: getV?
:write: setV (value)
:readformat: u
:tip: Setup this voltage, turn output on
16.5V 16.5
5V 5
12V 12
20V 20
30V 30
60V 60
#cmdSetup radio Current
:read: getC?
:write: setC (value)
:readFormat: u
:tip: Output will current limit at this current
2.5A 2.5
500mA 0.5
1A 1
2A 2
3A 3
10A 10
#cmdSetup buttonsOn Output
:tip: Turn output on or off
:updatealloff:
Off outOFF
On outON
#cmdSetup number Voltage
:read: getV?
:readformat: u
:write: setV (Value)
:tip: Setup this voltage, do not turn output on/off
Volt 0 60
#cmdSetup number Current
:read: getC?
:readformat: u
:write: setC (Value)
:tip: Setup this current, do not turn output on/off
Amps 001 10





 
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2376 on: April 24, 2022, 06:39:22 pm »
1. the drop to 1V was eliminatet after i set eol\r without the "\n"

If that is enough, I will suggest removing the delays: [10]

3. The Radio Buttons dont marked when i klick on it but the Command work ok.

For the radio buttons to get marked they must read back a value that matches their value.
You may get some hints what is going on by running TC in debug mode, there is a batch file for it.

4. I cant set any V or C value with the Set Button

Do not use (Value), it is (value), i.e. lower case, but you do not need anything:
1) If there is nothing after the command TC will automatic add the value at the end of the command.
2) To place the value somewhere in the command (useful when using multiple commands) use #
3) If some math is needed on the value use (value...)

...but many formulas i dont understand so i ask many Times here, sorry for this.

I do not mind answering questions.

You might want to add the
#outputOff outOff
definition, this is used by the "Outputs off" button

If you need to turn output off or reenable local control when stopping TC, you can use:
#finalCmd


 
The following users thanked this post: Scheppo

Offline rachdatu

  • Regular Contributor
  • *
  • Posts: 54
  • Country: ch
Re: Program that can log from many multimeters.
« Reply #2377 on: April 24, 2022, 07:16:38 pm »
Hello

I have got a Ruideng DPH5005 I would like to define. It seems this module is similar to the content of RidenRD60xx.txt.
Registers addresses are different.

Question: has this module been already defined?

I have done a quick test and the following commands should get me started:

Code: [Select]
#idString Riden,Riden DPH5005
#name Riden DPH5005
#handle DPH5005
#port comfixedbaud
#baudrate 9600
#driver Modbus

#scpiCmd VSet holding 0x00 500
#scpiCmd VSet? holding? 0x00 /100

#scpiCmd ISet? holding? 0x01 /1000
#scpiCmd ISet holding 0x01 2000

#scpiCmd OUTPUTOn holding 0x09 1
#scpiCmd OUTPUTOFF holding 0x09 0

#scpiCmd model? holding? 0x0B
#scpiCmd version? holding? 0x0C

#scpiCmd SOVP? holding? 0x52 /100
#scpiCmd SOVP holding 0x52 4000

Thanks
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2378 on: April 24, 2022, 07:37:28 pm »
Question: has this module been already defined?

No.
The easiest way to check is to type the model number in the filter box on the "Load devices" page and hit TAB.

#scpiCmd VSet holding 0x00 500
#scpiCmd VSet? holding? 0x00 /100

I have no idea about the register numbers, but you need to put a * before a multiplier and I would expect value for get and set to be the same.


You will also need definitions to read current value.

Look at the file  Scheppo has posted for an idea about what has to be included, the main difference is you use different #scpiCmd definitions.
You can, of course, also look at the Riden file, but it includes some extra stuff.


 

Offline Scheppo

  • Contributor
  • Posts: 23
  • Country: de
Re: Program that can log from many multimeters.
« Reply #2379 on: April 24, 2022, 08:37:30 pm »
Wow, the debug Function is very good for Beginners :)
I found all Mistakes that i made and now it works 99%
In Grid Panel/General Device setting the On/Off and Multi On/Off dont work.
Same Result on both Buttons.
Result in Debugwindow:
------------ Click the ON Button--------------
;; HCS3404: Tx <outON>
;; HCS3404: Tx <tx SOUT0>
;; COM4: Tx: <SOUT0.> 53 4F 55 54 30 0D
------------ Click the OFF Button--------------
;; HCS3404: Tx <outON>
;; HCS3404: Tx <tx SOUT0>
;; COM4: Tx: <SOUT0.> 53 4F 55 54 30 0D
 
And is it possible to load the Device.txt File in working TC after changes?

Thx for your fast Help everytime

Code:
Code: [Select]
#idString Manson,HCS-3404
#name HCS 3404
#handle HCS3404
#driver Ascii
#port comfixedbaud
#baudrate 9600N81
#eol \r
;-----------------------------
#scpiCmd setV tx VOLT(formatDouble(value*10,3,3,0,0))
#scpiCmd setC tx CURR(formatDouble(value*10,3,3,0,0))
#scpiCmd getVS? txrx? GETS
:readmath: (substring(value,0,3)/10.0)
#scpiCmd getCS? txrx? GETS
:readmath: (substring(value,3,6)/10.0)
#scpiCmd getV? txrx? GETD
:readmath: (substring(value,0,4)/100.0)
#scpiCmd getC? txrx? GETD
:readmath: (substring(value,4,8)/100.0)
#scpiCmd getCVCC? txrx? GETD
:readmath: (substring(value,8,9))
#scpiCmd kbON tx ENDS
#scpiCmd outON tx SOUT0
#scpiCmd outOFF tx SOUT1
#outputOff outOff
;-----------------------------
#value VSet V D2
#value VGet V D2
#value CSet A D2
#value CGet A D2
#value CVCCget CVCC SI
#askValues getVS?;[10];getV?;[10];getCS?;[10];getC?;[10];getCVCC;[10];kbON;[90]
;-----------------------------
#interfaceType PS
#interface setVoltage setV (value)
#interface setCurrent setC (value)
#interface setOn outON
#interface setOff outOFF
#interface getVoltage getV?
#interface getCurrent getC?
#interface readVoltage 1
#interface readCurrent 3
;-----------------------------
#cmdDelayTime 50
#cmdSetup radio Voltage
:read: getVS?
:write: setV (value)
:readformat: u
:tip: Setup this voltage, turn output on
16.5V 16.5
5V 5
12V 12
20V 20
30V 30
60V 60

#cmdSetup radio Current
:read: getCS?
:write: setC (value)
:readFormat: u
:tip: Output will current limit at this current
2.5A 2.5
500mA 0.5
1A 1
2A 2
3A 3
10A 10
11A 11

#cmdSetup buttonsOn Output
:tip: Turn output on or off
:updatealloff:
Off outOFF
On outON
#cmdSetup number Voltage
:read: getVS?
:readformat: u
:write: setV (value)
:tip: Setup this voltage, do not turn output on/off
Volt 0 60.5

#cmdSetup number Current
:read: getCS?
:readformat: u
:write: setC (value)
:tip: Setup this current, do not turn output on/off
Amps 001 11
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2380 on: April 25, 2022, 07:05:14 am »
In Grid Panel/General Device setting the On/Off and Multi On/Off dont work.
...
#interface setOn outON
#interface setOff outOFF

The #interface for on/off must be setOn with a 0/1 parameter, not setOn/setOff

Try this definition and remove the setOff.
#interface setOn (value?"outON":"outOFF")

There is a popup to test the interface functions:



You are missing a check if the connected device is your power supply, this can be done with: #verifyDevice
See more here: https://lygte-info.dk/project/TestControllerConfigDevice2%20UK.html#Other_commands


 
The following users thanked this post: Scheppo

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2381 on: April 25, 2022, 07:28:29 am »


You are having some fun with the GridPanel.
Not all the readouts are useful for a power supply, some of them are more for multimeters. You also have one that is for the combination of a power supply and electronic load  with a device (Usually buck or boost converter) between (The one with 100.000%)
The control with the star works very well with a mouse wheel to adjust the parameter (i.e. output voltage).

You can press the F1 key to get a bit more information about the different readouts.

The general idea with the GridPanel is you make a setup to match your preferences with the loaded devices and then you save it as a menu entry, that can easily be reloaded:


This means you can save many different GridPanel layouts for different situations.
« Last Edit: April 25, 2022, 07:32:54 am by HKJ »
 

Offline SebiTNT

  • Newbie
  • Posts: 8
  • Country: de
Re: Program that can log from many multimeters.
« Reply #2382 on: April 25, 2022, 11:26:38 am »
Thank you so much @HKJ for your work!

I brought myself a East Tester ET5301 electronic load (150 V, 60 A, 400 W) and wanted to use it with your program for testing my batteries. Since this load is not supported by now, I have modified the device file for the East Tester ED5410 to fit my needs. The modified file is attached.

Unfortunately the program reads and logs a zero-value every few measurements for voltage and current (nothing more tested by now). Please see the attached chart. Is there anything that can be done to avoid this?

Thank you very much for your reply in advance!

Edit: Removed the not working file.
« Last Edit: April 25, 2022, 07:03:03 pm by SebiTNT »
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2383 on: April 25, 2022, 11:51:37 am »
Unfortunately the program reads and logs a zero-value every few measurements for voltage and current (nothing more tested by now). Please see the attached chart. Is there anything that can be done to avoid this?

You can probably tell TestController to ignore it by using a non-zero value for "Delay timeout by:" on the configuration page, but that is a hack and if it can be fixed another way it is better.

There can be a couple reasons, some stuff you can try is:
Adjusting the #eol character
Using timeout setting: #readingDelay 2
Adding small delays with [50]; between commands
Using a slower baudrate (If the load support it).



 
The following users thanked this post: SebiTNT

Offline Scheppo

  • Contributor
  • Posts: 23
  • Country: de
Re: Program that can log from many multimeters.
« Reply #2384 on: April 25, 2022, 05:39:30 pm »
Ok, the On / OFF with Button is now ready, thx.

I dont understand anything with the Verifycommand.
What is the holding parameter for?

I try this:
#scpiCmd Model? txrx? GMOD (GMOD give Output: HCS-3404)
#verifyDevice HCS-3404 Model

But TC dont start then.

Yes i like Gridpanel very much and i make all gridpanels for Fun yesterday so i can see what Panel is best for me.
 

Offline Scheppo

  • Contributor
  • Posts: 23
  • Country: de
Re: Program that can log from many multimeters.
« Reply #2385 on: April 25, 2022, 05:46:54 pm »
Hi,  i have same Problem yesterday.
For me it was a false eol command
eol\r\n  make Voltage from 15V to 1V, then i delete \n and now it works.
 
The following users thanked this post: SebiTNT

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2386 on: April 25, 2022, 06:28:31 pm »
I dont understand anything with the Verifycommand.
What is the holding parameter for?

I try this:
#scpiCmd Model? txrx? GMOD (GMOD give Output: HCS-3404)
#verifyDevice HCS-3404 Model

But TC dont start then.

Could it be as simple as a missing ? after Model?
 
The following users thanked this post: Scheppo

Offline SebiTNT

  • Newbie
  • Posts: 8
  • Country: de
Re: Program that can log from many multimeters.
« Reply #2387 on: April 25, 2022, 07:02:10 pm »
There can be a couple reasons, some stuff you can try is:
Adjusting the #eol character

That did the Trick. Thank you so much! I have changed the line
Code: [Select]
#eol \n |.\nto
Code: [Select]
#eol \nand it is working fine now. Attached you can find the new file.

What does the |. even mean?

And another question:
I tried adding buttons for switching the input on an off. The buttons work fine but when requesting the status (sending CH:SW? to the device), it is returning the value ON or OFF. As far as I am understanding it, the status indicator is expecting the values 0 or 1. Is there a way for converting it? So something like
Code: [Select]
:readmath: replace(value,"ON","1");replace(value,"OFF","0"); which is not working.

Edit: Removed the not working file.
« Last Edit: April 26, 2022, 01:57:49 pm by SebiTNT »
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2388 on: April 26, 2022, 06:33:23 am »
That did the Trick. Thank you so much! I have changed the line
Code: [Select]
#eol \n |.\nWhat does the |. even mean?

That someone in China programmed the SCPI protocol a silly way.

And another question:
I tried adding buttons for switching the input on an off. The buttons work fine but when requesting the status (sending CH:SW? to the device), it is returning the value ON or OFF. As far as I am understanding it, the status indicator is expecting the values 0 or 1. Is there a way for converting it? So something like
Code: [Select]
:readmath: replace(value,"ON","1");replace(value,"OFF","0"); which is not working.

This is often needed and there is a special function for it:
:readmath: listIndex(value,"OFF ON");
Most functions are listed here: https://lygte-info.dk/project/TestControllerFunctions%20UK.html
 
The following users thanked this post: SebiTNT

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2389 on: April 26, 2022, 07:46:14 am »
Yes i like Gridpanel very much and i make all gridpanels for Fun yesterday so i can see what Panel is best for me.

You can customize the individual panels to some extend:



A voltmeter and a power supply, titles are removed, instead I uses colors to identify the two devices.

Or maybe make the panel this way (The PS settings panel is not released yet):



Or maybe this with direct access to the PS setup panel and sliders to adjust voltage and current and also a fast way to start/stop logging:



I am always interested in suggestions for other types of GridPanel readouts and controls. These panels do give many ways to do the same function or view the same value, this is not an issue, the idea is that everybody can find something they are comfortable with.
« Last Edit: April 26, 2022, 09:02:01 am by HKJ »
 

Offline SebiTNT

  • Newbie
  • Posts: 8
  • Country: de
Re: Program that can log from many multimeters.
« Reply #2390 on: April 26, 2022, 12:05:56 pm »
This is often needed and there is a special function for it:
:readmath: listIndex(value,"OFF ON");

Thank you again. It is working now.
And a new question:
I am having difficulties with the indicator. So far the buttons are working and my code is
Code: [Select]
#cmdSetup buttonsOn Output
:read: CH:SW?;
:readmath: listIndex(value,"OFF ON");
:write: CH:SW #;[300];
:tip: Turn output on or off
:updatealloff:
Off OFF
On ON

The indicator is unfortunately not working. You wrote in the documentation: The read result is supposed to be a numeric result, use a :string: tag for a non-numeric result.
I did not find any example of how to use the :string: tag on your site. How do I use it in my case?
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2391 on: April 26, 2022, 12:27:08 pm »
The indicator is unfortunately not working. You wrote in the documentation: The read result is supposed to be a numeric result, use a :string: tag for a non-numeric result.
I did not find any example of how to use the :string: tag on your site. How do I use it in my case?

The read value must match the second parameter for the indicator to turn on, i.e. you cannot turn it into a number and must use a string tag:

Code: [Select]
#cmdSetup buttonsOn Output
:read: CH:SW?;
:string:
:write: CH:SW #;[300];
:tip: Turn output on or off
:updatealloff:
Off OFF
On ON
 
The following users thanked this post: SebiTNT

Offline SebiTNT

  • Newbie
  • Posts: 8
  • Country: de
Re: Program that can log from many multimeters.
« Reply #2392 on: April 26, 2022, 01:57:08 pm »
Well, I did not know it is this easy to use. It worked again like a charm. Thank you so much! Attached is the new file in case you might want to integrate it. I have send you a little donation.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2393 on: April 26, 2022, 05:30:34 pm »
Attached is the new file in case you might want to integrate it. I have send you a little donation.

Thanks, it will be included in next release.
 

Offline Scheppo

  • Contributor
  • Posts: 23
  • Country: de
Final Code Power Supply Manson HCS-3404 / Voltcraft DPPS-60-10
« Reply #2394 on: April 26, 2022, 08:00:45 pm »
Here is the final code for the Manson HCS-3xxx Series and German Voltcraft DPPS Series.
Thank you HJK for your Help.

Code: [Select]
#idString Manson,HCS-3404
#name HCS 3404
#handle HCS3404
#driver Ascii
#port comfixedbaud
#baudrate 9600N81
#eol \r
#author Scheppo, with many Help from HJK thx
;-----------------------------
#scpiCmd setV tx VOLT(formatDouble(value*10,3,3,0,0))
#scpiCmd setC tx CURR(formatDouble(value*10,3,3,0,0))
#scpiCmd getVS? txrx? GETS
:readmath: (substring(value,0,3)/10.0)
#scpiCmd getCS? txrx? GETS
:readmath: (substring(value,3,6)/10.0)
#scpiCmd getV? txrx? GETD
:readmath: (substring(value,0,4)/100.0)
#scpiCmd getC? txrx? GETD
:readmath: (substring(value,4,8)/100.0)
#scpiCmd getCVCC? txrx? GETD
:readmath: (substring(value,8,9))
#scpiCmd kbON tx ENDS
#scpiCmd outON tx SOUT0
#scpiCmd outOFF tx SOUT1
#scpiCmd Model? txrx? GMOD
#outputOff outOff
#verifyDevice HCS-3404 Model?
;-----------------------------
#value VSet V D2
#value VGet V D2
#value CSet A D2
#value CGet A D2
#value CVCCget CVCC SI
#askValues getVS?;[10];getV?;[10];getCS?;[10];getC?;[10];getCVCC;[10];kbON;[90]
;-----------------------------
#interfaceType PS
#interface setVoltage setV (value)
#interface setCurrent setC (value)
#interface setOn (value?"outON":"outOFF")
#interface getVoltage getV?
#interface getCurrent getC?
#interface readVoltage 1
#interface readCurrent 3
;-----------------------------
#cmdDelayTime 50
#cmdSetup radio Voltage
:read: getVS?
:write: setV (value)
:readformat: u
:tip: Setup this voltage, turn output on
16.5V 16.5
5V 5
12V 12
20V 20
30V 30
60V 60

#cmdSetup radio Current
:read: getCS?
:write: setC (value)
:readFormat: u
:tip: Output will current limit at this current
2.5A 2.5
500mA 0.5
1A 1
2A 2
3A 3
10A 10
11A 11

#cmdSetup buttonsOn Output
:tip: Turn output on or off
:updatealloff:
Off outOFF
On outON
#cmdSetup number Voltage
:read: getVS?
:readformat: u
:write: setV (value)
:tip: Setup this voltage, do not turn output on/off
Volt 0 60.5

#cmdSetup number Current
:read: getCS?
:readformat: u
:write: setC (value)
:tip: Setup this current, do not turn output on/off
Amps 001 11
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Final Code Power Supply Manson HCS-3404 / Voltcraft DPPS-60-10
« Reply #2395 on: April 27, 2022, 07:58:19 am »
Here is the final code for the Manson HCS-3xxx Series and German Voltcraft DPPS Series.
Thank you HJK for your Help.

Thanks, I will include it in the next release. I have done a few modifications to it (See attachment).

To add more models use #meta and #metadef, you can see it used in "RidenRD60xx.txt" and many other definitions.
The idea is that #meta declares the definition a model, then each #metadef can use that model and do modifications to it. This way a single definition file can be used as definition to any number of closely related devices.
 
The following users thanked this post: Scheppo

Offline rachdatu

  • Regular Contributor
  • *
  • Posts: 54
  • Country: ch
Re: Program that can log from many multimeters.
« Reply #2396 on: April 27, 2022, 04:52:38 pm »
Hello

I have created a def file for the Riden DPH5005. Most of the work was about changing the register addresses.

There is another model named DPH3205. Maybe it can be added to that file if it's similar.

Thanks for your help.
 

Offline toddehawk

  • Newbie
  • Posts: 5
  • Country: de
Re: Program that can log from many multimeters.
« Reply #2397 on: April 28, 2022, 11:55:37 am »
Hi,

Is it possible to add the Riden RD6018?
I don`t understand the config file, otherwise i had added it to the RidenRD60xx config....

Thanks!
Thorsten
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2398 on: April 28, 2022, 12:20:30 pm »
Is it possible to add the Riden RD6018?
I don`t understand the config file, otherwise i had added it to the RidenRD60xx config....

Yes, try start TestController in debug mode (There is a batch file to do it) and load another Riden supply on the correct COM port.

You will get a line starting with: **Device do not match**
Post that line.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 3038
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #2399 on: April 28, 2022, 12:21:03 pm »
I have created a def file for the Riden DPH5005. Most of the work was about changing the register addresses.

Thanks, it will be included in the next release.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf